CLAUDE_JOB_DIR
Updated by Alex Sorokoletov
CLAUDE_JOB_DIR is a Claude Code environment variable: Working directory for a background job, independent of the daemon's own cwd. Background jobs may target a different directory than the session that spawned them — this variable pins job context so the daemon doesn't inherit a stale path from the socket connection. Added between v2.1.118 and v2.1.123 and still present in v2.1.294. It is listed in the official reference.
| Status | Present in v2.1.294 |
|---|---|
| Added | Added between v2.1.118 and v2.1.123 |
| Category | Other |
| Official docs | Listed |
How to set it
For one session, export it in the shell that starts Claude Code:
export CLAUDE_JOB_DIR=<value>
claudeTo apply it to every session, add it to the env object of a settings file:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_JOB_DIR": "<value>"
}
}Release notes that mention it
Related variables
CLAUDE_CODE_PROJECT_DIR_NAMECLAUDE_CONFIG_DIR: Custom config directory.CLAUDE_PROJECT_DIR: Override project directory.CLAUDE_CODE_DIR_SYNC_ARCHIVECLAUDE_CODE_DIR_SYNC_ENGINECLAUDE_CODE_DIR_SYNC_FFWDCLAUDE_CODE_DIR_SYNC_GITCLAUDE_CODE_DIR_SYNC_OVERLAY
Frequently asked questions
What does CLAUDE_JOB_DIR do?
Working directory for a background job, independent of the daemon's own cwd. Background jobs may target a different directory than the session that spawned them — this variable pins job context so the daemon doesn't inherit a stale path from the socket connection.
Which Claude Code version has CLAUDE_JOB_DIR?
Added between v2.1.118 and v2.1.123 and still present in v2.1.294.
How do I set CLAUDE_JOB_DIR?
Export it before starting Claude Code (export CLAUDE_JOB_DIR=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.
All variables, searchable: Claude Code environment variables.