[Feature Request] Allow project-local temporary directory configuration
Issue Description
Feature Request: Allow project-local temporary directory configuration
Problem
When using background agents/tasks, Claude Code stores output files in the system temp directory (e.g., /var/folders/.../T/claude/.../tasks/*.output). To check on these tasks, Claude needs to run commands like tail -100 /var/folders/.../tasks/xxx.output.
Since this path is outside the project directory, project-level permissions (.claude/settings.json) cannot authorize these commands. Users must configure permissions at the user level (~/.claude/settings.json), which:
- Requires manual setup outside the project
- Cannot be shared with the team via version control
- Creates friction when onboarding new team members
Suggestion
Allow projects to configure a local temporary directory, for example:
// .claude/settings.json
{
"tempDirectory": ".claude/tmp"
}
This would enable:
- Project-level permissions to cover all Claude-generated files
- Easy .gitignore management (just add .claude/tmp/)
- Shareable configuration across the team
- Simpler cleanup (delete one directory)
Workaround
Currently, users must add permissions to ~/.claude/settings.json:
{
"permissions": {
"allow": ["Bash(tail /T/claude//tasks/*.output)"]
}
}
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.1.4
- Feedback ID: 3ae6afbe-133e-4a47-aa66-74126fe34cb6
Errors
[{"error":"Error: Request was aborted.\n at _createMessage (/$bunfs/root/claude:446:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-11T22:00:18.298Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗