Skip to main content
Someone on your team hits a bug, records a Jam, and adds the link to a ticket. Later that day a pull request is open, with a video of the fix working. No one typed repro steps, scrubbed through a video, or pasted a stack trace into a chat. The coding agent started from the link. The Jam CLI makes this possible. It gives a coding agent, which works in a terminal, access to everything in a Jam: the console errors, the failed requests, the clicks, and the frames of what was on screen. Then it records the fix and returns a link. Every read and write in Jam is a command, output is compact text an agent reads cheaply (or JSON with --json), and it runs on macOS, Linux, and Windows. The full command list is in the CLI reference.

Quickstart

1

Install the CLI

Open a new shell and run jam --version.
2

Log in

This opens a browser. In CI, pipe a personal access token into jam auth login --token instead.
3

Read a Jam

You are in. Everything the Jam captured is one command away.
4

Teach your agent

This teaches Claude Code, Cursor, Codex, or OpenCode to read a Jam and to record one as proof. jam upgrade keeps the skills current. Options are in Set up your coding agent.
5

Paste a Jam link

Give your agent a Jam link and a sentence: “Fix this and show me it works.” The agent does the rest.

What to say to your agent

Once the skills are installed you give instructions in plain English instead of flags. The agent picks the commands. Ask for a recorded Jam and it records one instead of only reporting that the tests pass. Each guide in Jam for AI agents has the prompt to give and how to check the result.

Guides

Each guide is one job, start to finish: what to set up, the prompt, and how to check the result.

Hand a Jam to your agent

Paste a link and get an explanation, a reply, a fix, or a feature.

Prove a fix

Record the fix running and post the Jam on the pull request or the ticket.

Turn a Jam into a test

Get an end-to-end test in your own runner from a recording.

From report to test

How a Jam passes between your tracker, coding agent, review, and tests.

CLI or MCP

Jam also has an MCP server. Both read the same Jam, and every MCP tool has a matching CLI command that returns the same fields with --json. Pick MCP when your agent only needs the bug context and you want zero install, or when you work in a chat client such as Claude or ChatGPT. Pick the CLI when you want any of these.
  • It records. jam record run records a browser or a window while a check runs and uploads a Jam. MCP reads Jams. It cannot make one. Proof of work only exists on the CLI side.
  • It runs anywhere a shell runs. CI jobs, cron, a Docker container, a script on a colleague’s machine. No MCP client, no per-tool config, one JAM_TOKEN.
  • It works with every agent. Any agent that can run a command can use it, including ones with no MCP support. jam skills install writes skills for Claude Code, Cursor, Codex, and OpenCode (--agent names them), and jam agent-context covers any agent they do not.
  • It ships the workflow, not only the tools. jam skills install teaches the agent the order of operations: errors first, frames when logs run out, record the fix, comment the link. The MCP server asks the agent to comment back when it finds the cause, and leaves the rest to the model.
  • It creates Jams from test runs. Point jam create jam at a Playwright video and trace and the failure becomes a watchable Jam with logs on the timeline. See Record end-to-end tests.
  • It composes. Pipe to jq, branch on exit codes, page with --after, write frames to disk and open them in whatever you like.
  • It keeps context small. Filters like --level error and --status 5xx return only the events that matter, and output goes to disk or a pipe until the agent asks for it.
  • It is yours to wrap. jam agent-context prints the full command surface as JSON (argument types, flag enums, output shapes), kept in step with the commands by a test. Skip the skills and build your own tool definitions on it: jam agent-context | jq '.commands["get.jam"]'.

Next

  • CLI reference lists every command, flag, exit code, and environment variable.
  • Personal access tokens covers scopes, expiration, and rotation for CI.
  • MCP sets up the same bug context in Claude, Cursor, VS Code, and ChatGPT.