How a request flows
- Approved by
- Panaversity ·
The path of one request

[Vendor-documented] In cloud sessions, the agent loop and the code run on Anthropic's servers.1 [Observed] The harness is Claude Code. The sandbox is configured to send model requests to Anthropic's API endpoint, the web address that receives requests for the model. [Inferred] The backend sits between the UI and the harness. The harness calls the model at each step. It runs the tool calls it gets back, and it repeats this until the model gives a final reply.
Read the figure from left to right. Your message goes to the backend, then to the harness. The harness sends the context to the model. The model sends back text or a tool call. The harness runs a tool call in one of four places and returns the result. Of the four layers (UI, backend, harness and model), only the harness sat inside the VM in the session examined.
Evidence: Claude Code runs in the VM
[Observed] On November 9, 2026, we inspected the session's running programs and environment. Its harness is Claude Code. This is one session. It shows the setup exists, not that every plan or surface uses it. The appendix gives the commands.2
A few terms help with the table. A process is a running program. Each process has a number, its PID (process ID). PID 1 is the first program a computer starts. A child process is a program that another program started. An environment variable is a named setting that programs can read, such as CLAUDE_CODE_REMOTE=true.
| Evidence | What it shows |
|---|---|
/opt/claude-code/bin/claude is a running process (PID 92) | The Claude Code program itself runs in the VM |
| Shell commands run as its child processes | That Claude Code process starts every Bash tool call |
It was launched by environment-manager task-run --session cse_… --session-mode resume | A session manager starts it for each chat session and resumes it |
CLAUDE_CODE_REMOTE=true, CLAUDE_CODE_ENTRYPOINT=remote_cowork, CLAUDE_CODE_SESSION_ORIGIN=claude_ai_chat | This is a remote Claude Code session, started from a claude.ai chat |
ANTHROPIC_BASE_URL=https://api.anthropic.com | The environment is configured to send Anthropic API requests to this endpoint. This does not prove where inference physically runs |
PID 1 is /process_api --firecracker-init … | The VM is a Firecracker microVM. Firecracker is the lightweight VM technology behind AWS Lambda |
| PID 1 had been up for about 19 minutes, which puts its start at about 02:26 UTC | Inferred: a new VM after the overnight gap. A paused and restored VM may not count paused time, so this is not proof. See The sandbox and its state |
[Observed] It is a specially configured Claude Code, not the plain CLI (the program you type into in a terminal). Environment variables set its feature flags, the switches that turn features on or off. They turn on artifacts, memory, background tasks and auto-compaction at 80%. Auto-compaction means the harness shortens the context by itself when it is 80% full.
[Observed] The running program reports version 2.1.319, and the claude command points to it. The variable CLAUDE_CODE_VERSION=2.1.42 does not match. The reason is unknown.
Chat or a task?
[Observed] The session was started from a claude.ai chat (SESSION_ORIGIN=claude_ai_chat). But its harness reports ENTRYPOINT=remote_cowork. [Inferred] This chat ran on the cloud runtime behind tasks in a conversation. Anthropic's documents call that runtime Cowork, which is why its Cowork architecture overview applies here. [Unknown] Whether every Claude chat runs this way. The desktop documentation still describes separate Chat, Cowork and Code tabs.3 The Tour describes the Code tab and its environments in detail.
Check yourself
Question 1 / 4
0 answered
In the session examined, where did the Claude Code harness run?
Sources
- Owner
- Panaversity