Class 04 — Claude Code
Scoping behavior precisely — what Claude is told, which tools it can use, how much it's allowed to spend, and which directories it can see.
§ System Prompt
Two strategies for customizing Claude's instructions. Replacing gives full control; appending keeps Claude Code's built-in capabilities intact.
Replace the entire default system prompt with custom text. Removes all Claude Code instructions — blank slate mode. Use when you need a completely custom persona.
Load a system prompt from a file, replacing the default. Version-control your prompts alongside your code.
Append custom text to the end of the default system prompt. Preserves all of Claude Code's built-in capabilities — recommended for most use cases.
Append file contents to the default prompt. Keeps Claude Code defaults intact while loading versioned addition files.
| Flag | Effect | Modes | Best for |
|---|---|---|---|
| --system-prompt | Replaces entire prompt | Both | Custom personas, blank-slate |
| --system-prompt-file | Replaces from file | Print only | Versioned templates |
| --append-system-prompt | Appends to default | Both | Adding rules, keeping defaults |
| --append-system-prompt-file | Appends file to default | Print only | Versioned additions |
§ Permissions
From most locked to least — choose the level appropriate for your environment. The ladder goes one direction: unlocking.
"" to disable all.
Begin in a specified permission mode. Options include plan (read-only planning), default, acceptEdits, bypassPermissions.
Tools that execute without prompting. Supports pattern matching: Bash(git log *) allows only matching git commands.
Tools removed from the model's context entirely. Claude cannot call them even if it tries.
Restrict which built-in tools are available. "" disables all, "default" enables all, or list specific names.
Delegate permission decisions to an MCP tool in non-interactive mode. For automated pipelines that need dynamic approval logic.
Get validated JSON output matching a schema once the agent finishes. Structural guarantee for automation.
§ Model & Context
Set the model. Use alias (sonnet, opus, haiku) or full ID like claude-sonnet-4-6.
Automatic fallback when the primary model is overloaded. Keeps pipelines running during busy periods.
Cap the number of agentic turns. Exits with an error if the limit is reached. No limit by default.
Stop before exceeding a dollar cost. A safety rail for automated runs that might loop unexpectedly.
Beta API headers. Only for API key users (not subscription accounts).
Add additional working directories. Validates each path exists. Repeatable for multi-repo contexts.
Load settings from a JSON file or raw JSON string, stacked on top of defaults.
Comma-separated list of config layers to activate: user, project, local. Control which config files are read.
Load plugins from a directory for this session only. Repeatable — add multiple plugin directories.
Disable all skills and slash commands for this session. For controlled environments where skill interference is unwanted.