Tool guide 2 · Claude Code
How the airline's engineers use Claude in the repo
Claude Code in the terminal, VS Code, the cloud and Chrome, for the people who build.
On this page
What Claude Code does for the engineers
Claude Code is a coding agent that reads a codebase, edits files, runs commands and uses git.1 The same engine runs in the terminal, VS Code, JetBrains, the desktop app, the web and the phone, and repository settings carry across the local ones.2 At the fictional airline it builds the rebooking assistant from the signed spec: the refund tool with the $400 limit in code, its tests, and the evaluation on the 500 past cases. Arjun, the architect, owns the instructions it reads. Maya, the QA lead, owns the tests that judge what it writes.
When to reach for something else
- Before the spec is signed. A coding agent builds what the document says, gaps included, and the lab Grow the spec shows what one guesses from a paragraph.
- When the airline reaches Claude only through its AWS account or an API key. With an API key or a cloud provider such as Amazon Bedrock you lose cloud sessions, routines, Remote Control and the Chrome integration, and on Bedrock the built-in web search too.3
- When the job is a document, a workbook or a chase. That is Claude at the desk, the first manual.
Five moves the airline's engineers make with it
Each move names who makes it, in which phase, and the words they type. Copy one and change the nouns.
Move 1P1Arjun, architect
Write the file every session reads
CLAUDE.md is a plain file of instructions loaded at the start of every session, at organisation, user, project or local scope.4 Arjun writes the project's file before the first session, and reviews changes to it like code.
If a repository has AGENTS.md and no CLAUDE.md or CLAUDE.local.md, Claude Code reads AGENTS.md.5
CLAUDE.md# Rebooking service The spec is docs/spec.md. Read fields 3, 5 and 7 before you change behaviour. The $400 refund limit is one constant in refund_tool.py. Never copy it into a prompt. Every limit in the spec's field 5 is enforced in code, with a test below, at and above it. Never book on a stale fare: when the fare engine is down, the case queues for an agent. Run the tests before you call a change done.Move 2P2An engineer
Ask for the plan before the code
In plan mode Claude Code researches and proposes, and edits stay blocked until you approve the plan, except in a terminal session where bypass permissions are available.6 Before the refund tool is touched, the engineer asks what Claude Code would build, and what it would have to guess.
Every guess on the third list goes back to its owner before an edit is approved.
The lab's last step runs this prompt on a paragraph and on the spec, with recorded replies →
The hand-off prompt, from the labYou are a coding agent about to implement the feature described below. Before you write any code, answer in three short lists: 1. The tools or functions you will build. 2. Every limit you will enforce in code, each with the exact line of the document it comes from. 3. Everything you would have to guess, because the document does not say. DOCUMENT: <the signed spec: fields 3, 7 and 8>Move 3P2Maya, QA lead
Review the branch against the file
The command
/code-reviewruns a review in a background subagent of your session and follows CLAUDE.md.7 Maya runs it, then asks the question a review rarely asks.At low and medium effort
/code-reviewreports only the findings it is most confident in, and at high and above it may include findings it is less sure about.8 So the review is a second reader, and the test at $400.01 is the gate.In the session/code-review List every number in this branch that also appears in docs/spec.md. For each, say whether it is read from one constant or typed again. The $400 refund limit must appear once, in refund_tool.py.Move 4P2An engineer
Hand the evaluation run to a cloud session
A cloud session runs on an isolated machine and keeps going after you close the laptop: start one with
claude --cloud "task"and pull it back withclaude --teleport.9 The run on the 500 past cases takes a while, so the engineer sends it away.The push comes first. The cloud machine clones your GitHub remote, so commits you have not pushed are not there.10
Terminalgit push claude --cloud "Run the evaluation on the 500 past cases in eval/cases.csv. Report the share handled right for each kind of case, codeshare as its own group, against the bar in docs/spec.md field 6. Open a pull request with the report. Change no code."Move 5P2Maya, QA lead
Walk the agent's screen in Chrome
Claude in Chrome is a browser extension that reads pages, clicks, types, fills forms and moves between tabs, and its Chrome side panel is in beta.11 Maya checks what a contact-centre agent sees when the refund path runs.
It acts directly on websites on your behalf, and the help page says plainly that, despite its safety classifiers, it is still risky.12 So Maya runs it in a browser profile signed in to the test site and nothing else.
Terminal, then the promptclaude --chrome Open the rebooking screen on the local build as the test agent. Cancel booking TEST-104 and take the refund path with a $399 fare, then with a $401 fare. Report what the screen shows at each step, and every console error.
Where Claude Code lets you down
- Its undo is partial. The command
/rewindrestores code, conversation or both from a snapshot taken at each prompt, but changes made by shell commands are not tracked, and it is not version control.13 Commit before every long run. - Auto mode is a convenience. The docs say auto mode cuts prompts but does not guarantee safety, and an owner can switch it off with
disableAutoMode.14 - A helper does not hear the conversation. A subagent has its own context window, system prompt and tools, is defined as a markdown file in
.claude/agents/, and returns a summary.15 A subagent other than a fork does not see your conversation or the files Claude has read, and starts from the brief Claude writes, its own prompt and your CLAUDE.md files.16 Write the brief as you would for a contractor on their first day. - Its sandbox has edges. The sandbox limits which files and hosts shell commands can reach, and it does not cover file tools, MCP servers or hooks.17
Three settings decide how it behaves
1
The memory file: CLAUDE.md
CLAUDE.md is context, not enforcement: it arrives as a message after the system prompt, and the docs advise keeping each file under 200 lines.18 The command /doctor prompt-audit finds stale or conflicting instructions.19
2
Permissions: what it may do alone
Auto mode, in which a classifier model reviews actions in your place, is now the starting mode in the terminal and VS Code.20 Allow, ask and deny rules sit on top of the mode, and deny rules hold in every mode.21 Hooks are your own commands that Claude Code runs at fixed points, and a hook that runs before a tool call can block it.22 Guard the push to main and the refund limit's line with a rule or a hook.
3
Context: what each session carries
Every skill's description costs context in every session, and a skill stays in context once it is loaded.23 From Claude Code you start it with claude --chrome, and keeping it on by default adds its tool definitions to every session.24 Switch on what this task needs and leave the rest off.
The traps that catch a team
- A one-line job in CI can run more than you meant. The command
claude -p "prompt"runs once and exits, and--bareskips hooks, skills, plugins, MCP servers, memory and CLAUDE.md so every machine behaves the same.25 Without--bare, a-prun executes the repository's hooks and connects its MCP servers with no trust prompt.26 - Routines run a saved task in the cloud on a schedule, from an HTTP call or from a GitHub event, and act as you on GitHub and in your connectors.27 A green run status means the session ran, not that the task succeeded.28 Read the pull request, not the tick.
- Auto-fix can answer review comments under your GitHub name, which can set off automation that is driven by comments, such as Terraform runs.29
- The command
claude --worktree namegives a session its own checkout and branch, and ignored files such as.envare missing unless listed in.worktreeinclude.30 - Steering from the phone still needs your own machine. Remote Control lets you drive a session running on your own machine from claude.ai/code or the phone, as long as the local process stays alive.31
Where every fact on this page comes from
Each numbered mark above points to a row here: the fact, the vendor's page it was checked against, and the date. A date turns amber once it is more than 60 days old. Prices, usage limits and model names change too often to print: read them on Claude's plans and prices and the models overview.
| No. | The fact | Source, and when it was checked |
|---|---|---|
| 1 | Claude Code is a coding agent that reads a codebase, edits files, runs commands and uses git. | code.claude.com/overview |
| 2 | The same engine runs in the terminal, VS Code, JetBrains, the desktop app, the web and the phone, and repository settings carry across the local ones. | code.claude.com/platforms |
| 3 | With an API key or a cloud provider such as Amazon Bedrock you lose cloud sessions, routines, Remote Control and the Chrome integration, and on Bedrock the built-in web search too. | code.claude.com/feature-availability |
| 4 | CLAUDE.md is a plain file of instructions loaded at the start of every session, at organisation, user, project or local scope. | code.claude.com/memory |
| 5 | If a repository has AGENTS.md and no CLAUDE.md or CLAUDE.local.md, Claude Code reads AGENTS.md. | code.claude.com/memory |
| 6 | In plan mode Claude Code researches and proposes, and edits stay blocked until you approve the plan, except in a terminal session where bypass permissions are available. | code.claude.com/permission-modes |
| 7 | The command /code-review runs a review in a background subagent of your session and follows CLAUDE.md. | code.claude.com/code-review |
| 8 | At low and medium effort /code-review reports only the findings it is most confident in, and at high and above it may include findings it is less sure about. | code.claude.com/code-review |
| 9 | A cloud session runs on an isolated machine and keeps going after you close the laptop: start one with claude --cloud "task" and pull it back with claude --teleport. | code.claude.com/claude-code-on-the-web |
| 10 | The cloud machine clones your GitHub remote, so commits you have not pushed are not there. | code.claude.com/claude-code-on-the-web |
| 11 | Claude in Chrome is a browser extension that reads pages, clicks, types, fills forms and moves between tabs, and its Chrome side panel is in beta. | support.claude.com/12012173-getting-started-with-claude-in-chrome |
| 12 | It acts directly on websites on your behalf, and the help page says plainly that, despite its safety classifiers, it is still risky. | support.claude.com/12012173-getting-started-with-claude-in-chrome |
| 13 | The command /rewind restores code, conversation or both from a snapshot taken at each prompt, but changes made by shell commands are not tracked, and it is not version control. | code.claude.com/checkpointing |
| 14 | The docs say auto mode cuts prompts but does not guarantee safety, and an owner can switch it off with disableAutoMode. | code.claude.com/permission-modes |
| 15 | A subagent has its own context window, system prompt and tools, is defined as a markdown file in .claude/agents/, and returns a summary. | code.claude.com/sub-agents |
| 16 | A subagent other than a fork does not see your conversation or the files Claude has read, and starts from the brief Claude writes, its own prompt and your CLAUDE.md files. | code.claude.com/sub-agents |
| 17 | The sandbox limits which files and hosts shell commands can reach, and it does not cover file tools, MCP servers or hooks. | code.claude.com/sandboxing |
| 18 | CLAUDE.md is context, not enforcement: it arrives as a message after the system prompt, and the docs advise keeping each file under 200 lines. | code.claude.com/memory |
| 19 | The command /doctor prompt-audit finds stale or conflicting instructions. | code.claude.com/memory |
| 20 | Auto mode, in which a classifier model reviews actions in your place, is now the starting mode in the terminal and VS Code. | code.claude.com/permission-modes |
| 21 | Allow, ask and deny rules sit on top of the mode, and deny rules hold in every mode. | code.claude.com/permission-modes |
| 22 | Hooks are your own commands that Claude Code runs at fixed points, and a hook that runs before a tool call can block it. | code.claude.com/hooks-guide |
| 23 | Every skill's description costs context in every session, and a skill stays in context once it is loaded. | code.claude.com/skills |
| 24 | From Claude Code you start it with claude --chrome, and keeping it on by default adds its tool definitions to every session. | code.claude.com/chrome |
| 25 | The command claude -p "prompt" runs once and exits, and --bare skips hooks, skills, plugins, MCP servers, memory and CLAUDE.md so every machine behaves the same. | code.claude.com/headless |
| 26 | Without --bare, a -p run executes the repository's hooks and connects its MCP servers with no trust prompt. | code.claude.com/headless |
| 27 | Routines run a saved task in the cloud on a schedule, from an HTTP call or from a GitHub event, and act as you on GitHub and in your connectors. research preview | code.claude.com/routines |
| 28 | A green run status means the session ran, not that the task succeeded. | code.claude.com/routines |
| 29 | Auto-fix can answer review comments under your GitHub name, which can set off automation that is driven by comments, such as Terraform runs. | code.claude.com/claude-code-on-the-web |
| 30 | The command claude --worktree name gives a session its own checkout and branch, and ignored files such as .env are missing unless listed in .worktreeinclude. | code.claude.com/worktrees |
| 31 | Remote Control lets you drive a session running on your own machine from claude.ai/code or the phone, as long as the local process stays alive. | code.claude.com/remote-control |
The same team, with OpenAI's tools: the third manual.