--json), and it runs on macOS, Linux, and Windows. The full command list is in the CLI reference.
Quickstart
1
Install the CLI
- macOS / Linux
- Windows
jam --version.2
Log in
jam auth login --token instead.3
Read a Jam
4
Teach your agent
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 runrecords 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 installwrites skills for Claude Code, Cursor, Codex, and OpenCode (--agentnames them), andjam agent-contextcovers any agent they do not. - It ships the workflow, not only the tools.
jam skills installteaches 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 jamat 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 errorand--status 5xxreturn 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-contextprints 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.

