ErrLookup › shareAI-lab/learn-claude-code
shareAI-lab/learn-claude-code
Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1 · Python · 92 source files
Analyzed at 985456f4ad on 2026-08-14. 144 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, agent-tools, python |
| Max 20 todos allowed | validation | warning | validation, todo, agent-tools, context-management, python |
| Item {item_id}: text required | validation | error | validation, todo, schema, agent-tools, python |
| Item {item_id}: invalid status '{status}' | validation | error | validation, todo, state-machine, schema, python |
| Only one task can be in_progress at a time | validation | warning | validation, todo, state-machine, agent-tools, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, agent-tools, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, subagent, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, skills, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, context-compaction, python |
| Task {task_id} not found | exception | error | validation, task-system, persistence, python |
| Invalid status: {status} | validation | error | validation, task-system, state-machine, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, task-system, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, background-tasks, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, agent-teams, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, team-protocols, python |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, autonomous-agents, python |
| Task {task_id} not found | exception | error | validation, task-system, worktree, persistence, python |
| Invalid status: {status} | validation | error | validation, task-system, worktree, state-machine, python |
| Not in a git repository. worktree tools require git. | exception | error | git, worktree, environment, runtime-error, python |
| git {' '.join(args)} failed | exception | error | git, worktree, subprocess, diagnostics, python |
| Invalid worktree name. Use 1-40 chars: letters, numbers, ., | validation | error | worktree, validation, git, input-sanitization |
| Worktree '{name}' already exists in index | validation | error | worktree, duplicate, state-management, git |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, validation |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, validation |
| Item {i}: content required | validation | error | todos, validation, agent-tools |
| Item {i}: invalid status '{status}' | validation | error | todos, validation, enum, agent-tools |
| Max 20 todos | validation | warning | todos, validation, limits |
| Task {tid} not found | exception | error | task-management, not-found, persistence |
| Path escapes workspace: {p} | exception | error | security, path-traversal, sandbox, validation |
| todos must be a list or JSON array string | validation | error | todos, json-parsing, validation, agent-tools |
| todos must be a list | validation | error | todos, type-validation, agent-tools |
| Max 20 todos allowed | validation | warning | todos, validation, limits |
| todos[{index}] must be an object | validation | error | todos, type-validation, agent-tools |
| todos[{index}] requires content | validation | error | todos, validation, agent-tools |
| todos[{index}] has invalid status '{status}' | validation | error | todos, validation, enum |
| Only one todo can be in_progress at a time | validation | warning | todos, state-invariant, validation |
| Invalid memory filename: {filename} | validation | error | memory, security, path-validation, filesystem |
| The memory index is not a memory record | validation | warning | memory, reserved-resource, validation |
| Memory directory escapes the workspace | validation | error | memory, configuration, security, sandbox, environment |
| Memory path escapes the store: {filename} | validation | error | filesystem, path-traversal, security, symlink |
| Memory name cannot be empty | validation | error | validation, memory, user-input |
| Unknown memory type: {mem_type} | validation | error | validation, memory, enums |
| Memory description and body cannot be empty | validation | error | validation, memory, user-input |
| memory store is too large for one consolidation pass | console | error | memory, llm, limits, consolidation |
| consolidation returned empty or duplicate records | console | error | memory, llm, consolidation, data-integrity |
| Task store escapes the workspace | validation | error | filesystem, path-traversal, tasks, configuration |
| Invalid task ID: {task_id!r} | validation | error | validation, tasks, ids, regex |
| Task subject cannot be empty | validation | error | validation, tasks, user-input |
| Dependency not found: {dependency} | validation | error | tasks, validation, dependencies |
| Could not allocate a unique task ID | exception | error | tasks, ids, race-condition, filesystem |
| Task file ID does not match {task_id} | validation | error | tasks, data-integrity, json, ids |
| Invalid task status: {task.status} | validation | error | tasks, validation, enums, data-integrity |
| Only Bash commands can run in the background | validation | error | background-tasks, tools, validation |
| Bash command cannot be empty | validation | error | background-tasks, validation, user-input |
| expected a JSON list | console | warning | cron, json, persistence, configuration |
| invalid job ID | console | warning | cron, ids, persistence, validation |
| prompt cannot be empty | console | warning | cron, validation, persistence |
| Could not allocate a cron job ID | exception | error | cron, ids, state-corruption, race-condition |
| Invalid task ID: {task_id!r} | validation | error | validation, task-id, input-validation, file-path |
| Task subject cannot be empty | validation | error | validation, create-task, input-validation |
| Dependency not found: {dependency} | validation | error | dependencies, create-task, validation, scheduling |
| Could not allocate a unique task ID | exception | critical | id-allocation, filesystem, unrecoverable, create-task |
| Task file ID does not match {task_id} | validation | error | data-integrity, task-id, file-corruption, load-task |
| Invalid task status: {task.status} | validation | error | validation, status, data-integrity, load-task |
| Tasks directory escapes workspace | validation | error | workspace, symlink, runtime-environment, path-traversal |
| Worktree path escapes directory: {name!r} | validation | error | path-traversal, git-worktree, symlink, security |
| Assignment for {owner} is no longer active | validation | error | agent-coordination, stale-state, assignments, concurrency |
| Assignment cwd changed for task {task.id} | validation | error | agent-coordination, stale-state, git-worktree, assignments |
| Path escapes workspace: {p} | validation | error | security, path-traversal, sandbox, validation |
| Invalid mailbox recipient: {agent!r} | validation | error | validation, message-bus, agent-names, security |
| Mailbox path escapes directory: {agent!r} | validation | error | path-traversal, symlink, message-bus, workspace |
| Every MCP tool needs a non-empty name | validation | error | mcp, validation, tool-registration |
| Duplicate MCP tool name on server {self.name!r} | exception | error | mcp, duplicate, tool-registration, validation |
| Missing MCP handlers: {', '.join(missing)} | exception | error | mcp, tool-registration, validation, handler-missing |
| MCP names cannot normalize to an empty string | exception | error | mcp, validation, name-normalization |
| MCP tool name is longer than 64 characters: {prefixed} | exception | error | mcp, name-length, validation, tool-registration |
| MCP tool name collision after normalization: {prefixed!r} ma | exception | error | mcp, name-collision, normalization, tool-registration |
| Invalid input schema for {origin} | exception | error | mcp, schema, validation, tool-registration |
| Unable to load memory runtime from {path} | exception | critical | import, module-loading, environment, startup |
| Invalid task ID: {task_id!r} | exception | error | validation, task-id, filesystem, input-validation |
| Task subject cannot be empty | exception | error | validation, task, input-validation |
| Dependency not found: {dependency} | exception | error | task, dependencies, validation |
| Could not allocate a unique task ID | exception | warning | task, id-allocation, rare, exhaustion |
| Task file ID does not match {task_id} | exception | error | task, data-integrity, filesystem |
| Invalid task status: {task.status} | exception | error | task, status, data-integrity, validation |
| Tasks directory escapes workspace | exception | error | security, path-traversal, symlink, filesystem |
| Worktree path escapes directory: {name!r} | exception | error | git, worktree, path-traversal, security |
| Assignment for {owner} is no longer active | exception | error | concurrency, state, assignment, session |
| Assignment cwd changed for task {task.id} | exception | error | worktree, stale-state, session, concurrency |
| Path escapes workspace: {path} | exception | error | security, path-traversal, sandbox, filesystem |
| Invalid mailbox recipient: {agent!r} | exception | error | message-bus, validation, naming |
| Mailbox path escapes directory: {agent!r} | exception | error | security, path-traversal, symlink, message-bus |
| Max retries ({MAX_RETRIES}) exceeded | exception | error | api, retry, rate-limit, availability, network |
| only bash can run in the background | exception | error | background, tools, bash, validation |
| Every MCP tool needs a non-empty name | exception | error | mcp, tool-registration, validation |
| Duplicate MCP tool name on server {self.name!r} | exception | error | mcp, tool-registration, duplicates, validation |
| Missing MCP handlers: {', '.join(missing)} | exception | error | mcp, validation, setup, tool-registration |
| MCP names cannot normalize to an empty string | exception | error | mcp, validation, naming, configuration |
| MCP tool name is longer than 64 characters: {prefixed} | exception | error | mcp, validation, naming, limits |
| MCP tool name collision after normalization: {prefixed!r} ma | exception | error | mcp, validation, naming, collision |
| Invalid input schema for {origin} | exception | error | mcp, validation, json-schema, tool-registration |
| could not allocate a unique workflow runId | exception | error | workflow, run-id, filesystem, uniqueness |
| invalid workflow runId | exception | error | workflow, run-id, validation, naming |
| workflow run {run_id} is already active | exception | error | workflow, concurrency, locking, duplicate-run |
| meta must be an object literal | exception | error | workflow, validation, metadata, type-error |
| meta requires `name` and `description` | exception | error | workflow, validation, metadata, required-fields |
| meta.name must be a 1-64 character slug using letters, numbe | validation | error | workflow, validation, naming, metadata |
| meta.description must be a string | validation | error | workflow, validation, metadata, type-error, yaml |
| meta.phases must be a list of non-empty strings | validation | error | workflow, validation, metadata, phases, type-error |
| workflow '{meta['name']}' denied by settings | validation | error | workflow, permissions, policy, configuration |
| workflow agent returned invalid JSON | exception | error | workflow, agent, json, llm-output, parsing |
| resume journal not found for {run_id} | validation | error | workflow, resume, journal, filesystem |
| invalid resume journal record at line {line_number} | validation | error | workflow, resume, journal, data-corruption, jsonl |
| token budget exceeded ({self._spent + n} > {self._total}) | validation | error | workflow, budget, tokens, limits, cost |
| agent() cap reached ({AGENT_CAP}) | validation | error | workflow, limits, runaway, agents, recursion |
| token budget exceeded | validation | error | workflow, budget, tokens, agents |
| cached agent output failed schema validation: {err} | validation | error | workflow, resume, schema-validation, cache, journal |
| agent({{schema}}) invalid output: {err} | validation | error | workflow, schema-validation, structured-output, llm, retry |
| workflow() nesting is one level only | validation | error | workflow, nesting, composition, limits |
| unknown workflow '{name}' | validation | error | workflow, registry, lookup, validation |
| resume runId does not match workflow meta | validation | error | workflow, resume, run-id, snapshot, validation |
| resume args do not match the original run | validation | error | workflow, resume, args, snapshot, validation |
| resume snapshot not found for {run_id} | validation | error | workflow, resume, snapshot, file-not-found, persistence |
| invalid resume snapshot for {run_id} | validation | error | workflow, resume, snapshot, json, corruption |
| args.changes must be a string | validation | error | workflow, args, type-validation, input-contract |
| workflow name must be a string | validation | error | workflow, type-validation, tool-input, api |
| workflow args must be an object | validation | error | workflow, args, type-validation, tool-input, api |
| unable to load integrated host from {path} | exception | error | workflow, import, environment, packaging, runtime |
| goal evaluator returned invalid JSON | exception | error | goal-loop, evaluator, json, llm, parsing |
| goal evaluator must return a JSON object | validation | error | goal-loop, evaluator, json, validation, llm |
| goal evaluator response requires boolean 'ok' | validation | error | goal-loop, evaluator, json, type-validation, llm |
| goal evaluator response requires non-empty 'reason' | validation | error | goal-loop, evaluator, json, validation, llm |
| goal evaluator 'impossible' must be boolean | validation | error | goal-loop, evaluator, json, type-validation, llm |
| goal evaluator cannot return both ok and impossible | validation | error | goal-loop, evaluator, json-validation, llm |
| block_cap must be at least 1 | validation | error | goal-loop, config, validation, constructor |
| goal condition cannot be empty | validation | error | goal-loop, validation, input |
| goal condition cannot exceed {MAX_GOAL_LENGTH} characters | validation | error | goal-loop, validation, limits, prompt-size |
| max_turns must be at least 1 | validation | error | goal-loop, config, validation, constructor |
| background result cannot be empty | validation | error | goal-loop, background-tasks, validation |
| path escapes the current repository | validation | error | goal-loop, security, path-traversal, sandbox |
| unknown tool '{name}' | validation | error | goal-loop, tools, dispatch, llm |
| Install dependencies first: pip install -r requirements.txt | exception | error | goal-loop, dependencies, environment, setup |
| MODEL_ID is required in the environment or .env | exception | error | goal-loop, configuration, environment, setup |
| error: {error} | console | error | goal-loop, cli, error-handling, exit-code |