main.js · part 223
Full reference60 text occurrences from desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, part 223. Every entry preserves the shipped literal and its saved verdict or selection reason.
File contents and all parts · All files
Shipped text
Poll a background shell.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7456272–7456298, SHA-256 f981516d52836b5c.
Jev judged not model-facing (confidence 0.65; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Poll a background shell.
Poll a background shell.
Poll a background ${t?"shell or subagent":"shell"} job. For work that does not h
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7456578–7458502, SHA-256 2d435afd2d6cae74.
Jev judged model-facing (confidence 0.88; role tool). This is a classifier judgment, not proof of delivery.
Readable text: Poll a background ${t?"shell or subagent":"shell"} job. For work that does not have a ${t?"task id":"shell id"}, you can omit the ${t?"task_id":"shell_id"} arg to sleep for the full 'block_until_ms' duration (prefer this over sleeping in th…
Poll a background ${t?"shell or subagent":"shell"} job. For work that does not have a ${t?"task id":"shell id"}, you can omit the ${t?"task_id":"shell_id"} arg to sleep for the full `block_until_ms` duration (prefer this over sleeping in the shell, because it renders nicely to the user).
Monitor backgrounded jobs as follows:
- Never poll a task whose tool result says it was "manually backgrounded by the user".
- When you spawn a command directly into the background (`block_until_ms: 0`), check status immediately by reading the output file to confirm the command didn't fail to start.
- Poll repeatedly to monitor by using this tool between checks (set `block_until_ms` to control how long to wait). If the file gets large, read from the end of the file to capture the latest content.
- Pick your polling intervals using best guess/judgment based on any knowledge you have about the command and its expected runtime, and any output from monitoring the job. When no new output, exponential backoff is a good strategy (e.g. 2000ms, 4000ms, 8000ms, 16000ms...), using educated guess for min and max wait.${r?"\n- Shell only guidance:\n - Waiting until a regex matches the output can be useful for e.g. known startup/status/error logs.\n - HARD STOPPING CONSTRAINT: Don't stop polling until (a) job terminates, (b) the command reaches a healthy steady state (only for non-terminating command, e.g. dev server/watcher), or (c) command is hung - follow guidance below.\n - Output file header has `pid` and `running_for_ms` (updated every 5000ms).\n - When finished, footer with `exit_code` and `elapsed_ms` appears (regex only matches the body, not header/footer).\n - If taking longer than expected and the command seems like it is hung (use judgment based on type of command), kill the process if safe to do so using the pid that appears in the header. If possible, try to fix the hang and proceed.":""}
shell or subagent
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7456601–7456620, SHA-256 047c1414a1575dd8.
Jev judged not model-facing (confidence 0.51; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: shell or subagent
shell or subagent
task id
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7456669–7456678, SHA-256 cd04750ff4782737.
Jev judged not model-facing (confidence 0.45; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: task id
task id
shell id
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7456679–7456689, SHA-256 909ed84d878c2598.
Jev judged not model-facing (confidence 0.35; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: shell id
shell id
- Shell only guidance: - Waiting until a regex matches the output can be useful
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7457702–7458497, SHA-256 c5d220a4b09ecb15.
Jev judged model-facing (confidence 0.8; role instructions). This is a classifier judgment, not proof of delivery.
Readable text: - Shell only guidance: - Waiting until a regex matches the output can be useful for e.g. known startup/status/error logs. - HARD STOPPING CONSTRAINT: Don't stop polling until (a) job terminates, (b) the command reaches a healthy steady…
- Shell only guidance:
- Waiting until a regex matches the output can be useful for e.g. known startup/status/error logs.
- HARD STOPPING CONSTRAINT: Don't stop polling until (a) job terminates, (b) the command reaches a healthy steady state (only for non-terminating command, e.g. dev server/watcher), or (c) command is hung - follow guidance below.
- Output file header has `pid` and `running_for_ms` (updated every 5000ms).
- When finished, footer with `exit_code` and `elapsed_ms` appears (regex only matches the body, not header/footer).
- If taking longer than expected and the command seems like it is hung (use judgment based on type of command), kill the process if safe to do so using the pid that appears in the header. If possible, try to fix the hang and proceed.
Unhandled version: ${t}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7458567–7458592, SHA-256 385cb6947347ea2c.
Jev judged not model-facing (confidence 0.12; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unhandled version: ${t}
Unhandled version: ${t}
Must pass a task id or wait for a nonzero duration.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7459388–7459441, SHA-256 3935adf38c14b131.
Jev judged not model-facing (confidence 0.18; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Must pass a task id or wait for a nonzero duration.
Must pass a task id or wait for a nonzero duration.
Regex awaiting is not available for subagents. Run Await without regex, or await
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7460307–7460414, SHA-256 5dacceb55a2e32ed.
Jev judged not model-facing (confidence 0.1; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Regex awaiting is not available for subagents. Run Await without regex, or await a shell task id instead.
Regex awaiting is not available for subagents. Run Await without regex, or await a shell task id instead.
Awaiting subagent tasks requires a non-empty conversationId in the agent context
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7460482–7460564, SHA-256 534ef376c0ef4e5e.
Jev judged not model-facing (confidence 0.08; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Awaiting subagent tasks requires a non-empty conversationId in the agent context
Awaiting subagent tasks requires a non-empty conversationId in the agent context
Awaiting subagent ids is not available in this environment (subagent executor re
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7461634–7461742, SHA-256 6d6abc45e955c2dc.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Awaiting subagent ids is not available in this environment (subagent executor resource is not registered).
Awaiting subagent ids is not available in this environment (subagent executor resource is not registered).
Unknown legacy subagent await result
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7462811–7462849, SHA-256 da2f8f755b1c5157.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unknown legacy subagent await result
Unknown legacy subagent await result
Unhandled legacy subagent result case: ${e}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7462897–7462942, SHA-256 f0a8da1d55b81286.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unhandled legacy subagent result case: ${e}
Unhandled legacy subagent result case: ${e}
Subagent not found
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464342–7464362, SHA-256 d3fdf7b004744f35.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Subagent not found
Subagent not found
Failed to await subagent task
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464450–7464481, SHA-256 08de506f44799d11.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Failed to await subagent task
Failed to await subagent task
Unknown subagent await result
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464511–7464542, SHA-256 eb4266f5269c7882.
Jev judged not model-facing (confidence 0.06; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unknown subagent await result
Unknown subagent await result
Unhandled subagent await result case: ${e}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464586–7464630, SHA-256 0be4264f2f42998c.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unhandled subagent await result case: ${e}
Unhandled subagent await result case: ${e}
Cannot await shell task: terminals folder is unavailable
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464740–7464798, SHA-256 66cf447ac4fa61ff.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Cannot await shell task: terminals folder is unavailable
Cannot await shell task: terminals folder is unavailable
Failed to read shell output
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464917–7464946, SHA-256 5496617622203a0b.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Failed to read shell output
Failed to read shell output
No shell found for id ${g}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7464979–7465007, SHA-256 91c975df21893886.
Jev judged not model-facing (confidence 0.06; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: No shell found for id ${g}
No shell found for id ${g}
Pattern matched: ${e.regexMatch??""}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7466498–7466536, SHA-256 7bbd3ddd05f9d10d.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Pattern matched: ${e.regexMatch??""}
Pattern matched: ${e.regexMatch??""}
Pattern did NOT match.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7466547–7466571, SHA-256 11a78048744586ff.
Jev judged not model-facing (confidence 0.06; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Pattern did NOT match.
Pattern did NOT match.
Slept briefly.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467231–7467247, SHA-256 6f8be29639e6c473.
Jev judged not model-facing (confidence 0.06; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Slept briefly.
Slept briefly.
Slept for ${Math.max(1,Math.ceil(t/1e3))}s.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467248–7467293, SHA-256 5a8ada456f1c3ffa.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Slept for ${Math.max(1,Math.ceil(t/1e3))}s.
Slept for ${Math.max(1,Math.ceil(t/1e3))}s.
${t} Sleep released early: a new user message is arriving.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467342–7467402, SHA-256 15c82cfb70f81e68.
Jev judged not model-facing (confidence 0.13; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${t} Sleep released early: a new user message is arriving.
${t} Sleep released early: a new user message is arriving.
Task completed in ${(e.runtimeMs??BigInt(0)).toString()}ms with exit code: ${voi
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467477–7467588, SHA-256 6384229dac604289.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Task completed in ${(e.runtimeMs??BigInt(0)).toString()}ms with exit code: ${void 0!==r?String(r):"unknown"}.
Task completed in ${(e.runtimeMs??BigInt(0)).toString()}ms with exit code: ${void 0!==r?String(r):"unknown"}.
Task complete.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467596–7467612, SHA-256 a757102857a0b248.
Jev judged not model-facing (confidence 0.11; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Task complete.
Task complete.
${o} ${t}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467635–7467646, SHA-256 bbe9c1ec4c171a9e.
Jev judged not model-facing (confidence 0.15; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${o} ${t}
${o} ${t}
${o} output file path: ${e.outputFilePath} output length: ${e.outputLength.toStr
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467657–7467747, SHA-256 91ac962309d85e4d.
Jev judged not model-facing (confidence 0.23; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${o} output_file_path: ${e.outputFilePath} output_length: ${e.outputLength.toString()}
${o}
output_file_path: ${e.outputFilePath}
output_length: ${e.outputLength.toString()}
Task still running after ${(e.runtimeMs??BigInt(0)).toString()}ms...
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467811–7467881, SHA-256 d7f97263d4b5f840.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Task still running after ${(e.runtimeMs??BigInt(0)).toString()}ms...
Task still running after ${(e.runtimeMs??BigInt(0)).toString()}ms...
Task still running.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467882–7467903, SHA-256 3271f8b64b3eb668.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Task still running.
Task still running.
${r} Wait released early: a new user message is arriving.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7467926–7467985, SHA-256 2f72e937cf4def68.
Jev judged not model-facing (confidence 0.23; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${r} Wait released early: a new user message is arriving.
${r} Wait released early: a new user message is arriving.
${r} ${t}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468006–7468017, SHA-256 017f7ee52d73b429.
Jev judged not model-facing (confidence 0.12; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${r} ${t}
${r} ${t}
${o} output file path: ${e.outputFilePath} output length: ${e.outputLength.toStr · byte 7468035
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468035–7468125, SHA-256 91ac962309d85e4d.
Jev judged not model-facing (confidence 0.25; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: ${o} output_file_path: ${e.outputFilePath} output_length: ${e.outputLength.toString()}
${o}
output_file_path: ${e.outputFilePath}
output_length: ${e.outputLength.toString()}
Error awaiting task: ${s.value.error}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468154–7468193, SHA-256 3a2530287778092f.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Error awaiting task: ${s.value.error}
Error awaiting task: ${s.value.error}
Unknown error
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468222–7468237, SHA-256 70e280a3cf0ea5f5.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unknown error
Unknown error
Object expected.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468515–7468533, SHA-256 d588320af15c8b9c.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Object expected.
Object expected.
Symbol.asyncDispose is not defined.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468593–7468630, SHA-256 daa66daf4a2ce51d.
Jev judged not model-facing (confidence 0.03; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Symbol.asyncDispose is not defined.
Symbol.asyncDispose is not defined.
Symbol.dispose is not defined.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468711–7468743, SHA-256 4f970f848ba76c6c.
Jev judged not model-facing (confidence 0.03; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Symbol.dispose is not defined.
Symbol.dispose is not defined.
Object not disposable.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7468818–7468842, SHA-256 2fc540c51c4f1811.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Object not disposable.
Object not disposable.
An error was suppressed during disposal.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7469083–7469125, SHA-256 f5185cbeab3cd14b.
Jev judged not model-facing (confidence 0.04; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: An error was suppressed during disposal.
An error was suppressed during disposal.
File paths to get AI attribution for. Use repository-relative git paths (for exa
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7469932–7470077, SHA-256 bc669a1b50134b05.
Jev judged not model-facing (confidence 0.77; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: File paths to get AI attribution for. Use repository-relative git paths (for example: backend/server/src/app.ts), not absolute workspace paths.
File paths to get AI attribution for. Use repository-relative git paths (for example: backend/server/src/app.ts), not absolute workspace paths.
Optional start line (1-indexed). If not provided, gets AI attribution for entire
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470135–7470245, SHA-256 91486db583046c57.
Jev judged not model-facing (confidence 0.74; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: Optional start line (1-indexed). If not provided, gets AI attribution for entire file. Applies to all files.
Optional start line (1-indexed). If not provided, gets AI attribution for entire file. Applies to all files.
Optional end line (1-indexed). If not provided, gets AI attribution to end of fi
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470301–7470408, SHA-256 f57e1ca36b470836.
Jev judged not model-facing (confidence 0.69; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: Optional end line (1-indexed). If not provided, gets AI attribution to end of file. Applies to all files.
Optional end line (1-indexed). If not provided, gets AI attribution to end of file. Applies to all files.
Commit hashes to get AI attribution for. Returns AI conversation summaries for e
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470466–7470559, SHA-256 dbc7b10a14b6608e.
Jev judged not model-facing (confidence 0.73; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: Commit hashes to get AI attribution for. Returns AI conversation summaries for each commit.
Commit hashes to get AI attribution for. Returns AI conversation summaries for each commit.
Controls output shape and verbosity. Use "summary" for conversation-level rollup
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470623–7470754, SHA-256 eea24768782b2ef3.
Jev judged not model-facing (confidence 0.65; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: Controls output shape and verbosity. Use "summary" for conversation-level rollups and "detailed" for per-commit/per-range output.
Controls output shape and verbosity. Use "summary" for conversation-level rollups and "detailed" for per-commit/per-range output.
Optional cap on commits returned after filtering/de-duplication. Must be between
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470822–7470915, SHA-256 69b026d911d2e647.
Jev judged not model-facing (confidence 0.77; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: Optional cap on commits returned after filtering/de-duplication. Must be between 1 and 200.
Optional cap on commits returned after filtering/de-duplication. Must be between 1 and 200.
When false, omit detailed line ranges from attribution output.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7470965–7471029, SHA-256 53109b25ab382587.
Jev judged not model-facing (confidence 0.58; role parameter). This is a classifier judgment, not proof of delivery.
Readable text: When false, omit detailed line ranges from attribution output.
When false, omit detailed line ranges from attribution output.
Either file paths or commit hashes must be provided
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7471135–7471188, SHA-256 1c606ab39904cbf2.
Jev judged not model-facing (confidence 0.2; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Either file_paths or commit_hashes must be provided
Either file_paths or commit_hashes must be provided
Unhandled version: ${e}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7471472–7471497, SHA-256 bd19ee66999226d4.
Jev judged not model-facing (confidence 0.09; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: Unhandled version: ${e}
Unhandled version: ${e}
Trace how code was built with AI for files and commits. Treat this as git blame
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7471561–7474281, SHA-256 74ab1066f47f3647.
Not classified: Source failed the privacy boundary.
Readable text: Trace how code was built with AI for files and commits. Treat this as git blame for AI-built changes: it reveals which conversations produced the code, why it was implemented a certain way, what alternatives were considered, and the intent…
Trace how code was built with AI for files and commits.
Treat this as git blame for AI-built changes: it reveals which conversations produced the code, why it was implemented a certain way, what alternatives were considered, and the intent behind decisions.
When to use this tool:
- The user asks about a file, module, or area of code and wants to understand it deeply -- use this alongside reading the file to add context about how and why it was built.
- Questions about history, evolution, or recent changes to code (e.g. "tell me about this file", "what's changed here recently", "how has this evolved"). For concept-level questions without a specific file (e.g. "how has plan mode evolved?"), first find the relevant files, then use this tool on them.
- Questions about authorship or decision-making (e.g. "who wrote this", "why is it done this way", "what tradeoffs were made").
- Before planning changes to existing code, to understand the intent behind the current implementation and avoid undoing deliberate design decisions.
- When used during planning, surface deliberate design decisions, past reversions, and intentional tradeoffs as constraints. Explain how the proposed changes relate to those prior decisions.
Output includes conversation context depth:
- Conversation title / tldr / overview / summary bullets
- Models used across the conversation and commit-linked sections
Query shape policy:
- File-first (`file_paths`) when the user anchor is code location. Always pass repository-relative git paths (for example `backend/server/src/app.ts`), not absolute workspace paths like `/Users/.../projects/repo/backend/server/src/app.ts`.
- Commit-first (`commit_hashes`) when the user anchor is a change event or narrative.
- Use both when both anchors are known (high precision, less noise).
- Use `file_paths` to compare a bounded set of files; use `commit_hashes` for stack/series narrative.
- For `file_paths`, pass repository-relative git paths (for example, paths shown in `git diff`), not absolute local filesystem paths.
Output strategy:
- Start with `output_mode: "summary"` + modest `max_commits`.
- Pivot to `output_mode: "detailed"` with line ranges once a target section is identified.
- If file query is empty but activity is expected, pivot to commit query.
- If commit query is noisy, add file filters.
Transcript fallback:
- If transcript pointers/context are available and you need deeper decision narrative, inspect transcript snippets after this tool (read in chunks, do not read entire transcript files at once).
Returns commit history with conversation-linked lineage details suitable for code archaeology and implementation-intent analysis.
ai-attribution fetching attribution
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7475146–7475185, SHA-256 252de90a126827ed.
Jev judged not model-facing (confidence 0.08; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: [ai-attribution] fetching attribution
[ai-attribution] fetching attribution
ai-attribution attribution fetched successfully
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7475515–7475566, SHA-256 c47e3e86de33f99e.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: [ai-attribution] attribution fetched successfully
[ai-attribution] attribution fetched successfully
ai-attribution failed to fetch attribution
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7475940–7475986, SHA-256 c7057428624548e6.
Jev judged not model-facing (confidence 0.05; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: [ai-attribution] failed to fetch attribution
[ai-attribution] failed to fetch attribution
Failed to fetch AI attribution data. This may be a temporary issue - please try
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7476106–7476200, SHA-256 659d2a5f79144c72.
Jev judged not model-facing (confidence 0.03; role human). This is a classifier judgment, not proof of delivery.
Readable text: Failed to fetch AI attribution data. This may be a temporary issue - please try again later.
Failed to fetch AI attribution data. This may be a temporary issue - please try again later.
AI attribution output
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7476463–7476486, SHA-256 875af65d5b47daab.
Jev judged not model-facing (confidence 0.07; role code_data). This is a classifier judgment, not proof of delivery.
Readable text: AI attribution output
AI attribution output
Failed to get AI attribution: ${e.result.value.error}
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7476609–7476664, SHA-256 d87d6153c84f5863.
Jev judged not model-facing (confidence 0.04; role human). This is a classifier judgment, not proof of delivery.
Readable text: Failed to get AI attribution: ${e.result.value.error}
Failed to get AI attribution: ${e.result.value.error}
An unknown error occurred.
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7476683–7476711, SHA-256 efac422f3271e7dd.
Jev judged not model-facing (confidence 0.04; role human). This is a classifier judgment, not proof of delivery.
Readable text: An unknown error occurred.
An unknown error occurred.
Failed to fetch AI attribution data. This may be a temporary issue - please try · byte 7476813
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7476813–7476907, SHA-256 659d2a5f79144c72.
Jev judged not model-facing (confidence 0.03; role human). This is a classifier judgment, not proof of delivery.
Readable text: Failed to fetch AI attribution data. This may be a temporary issue - please try again later.
Failed to fetch AI attribution data. This may be a temporary issue - please try again later.
Canvas validation timed out; if this save targeted a canvas, re-save the file to
Source: desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js, bytes 7478998–7479109, SHA-256 5997a2ba11d6defb.
Jev judged not model-facing (confidence 0.05; role human). This is a classifier judgment, not proof of delivery.
Readable text: Canvas validation timed out; if this save targeted a canvas, re-save the file to confirm its status and path.
Canvas validation timed out; if this save targeted a canvas, re-save the file to confirm its status and path.