Surfaces

Surfaces

Custom views of a trace that open as tabs next to Highlights and Full Trace.

A surface is a single HTML file that renders one view of a trace: a token bill, a timeline of tool calls, a list of failed commands, or anything else you can build from the session's messages. Surfaces open as extra tabs on the trace page, next to Highlights and Full Trace.

Anyone can write a surface. Public ones are listed in the surfaces marketplace, and your team can keep private surfaces for its own traces.

How surfaces work

  • Tabs on the trace page. Open a surface from the trace page's surface picker, or add it once so it opens on every trace you view. See Adding surfaces.
  • Owned by a namespace. Every surface belongs to your personal namespace or an organization. The namespace decides who can edit it and who can see it.
  • Versioned. Each upload is an immutable version. The surface shows its current version to everyone, so you can upload and try a new version before switching to it, and switch back at any time.
  • Sandboxed. Surfaces run in a locked-down frame with no network access, no cookies, and no access to the rest of the page. They only receive the trace they're shown on.

Where to find surfaces

PageWhat it's for
/surfacesBrowse public surfaces. Surfaces from the Traces team are under Featured.
/surfaces/<key>A surface's page: description, creator, current version, and a live preview.
/surfaces/createCreate a surface and upload its first version.
/<namespace>/surfacesEvery surface a namespace owns, private ones included. Visible to members who can manage surfaces there.

Next steps

On this page