Skip to content

Opinionated Claude Code Setup

This setup is a starting point, not a universal rule. It optimizes for long-running work, fewer distractions, more preserved context, and privacy-focused defaults.

Add this to ~/.claude/settings.json and adjust anything that does not match your workflow.

{
"agentPushNotifEnabled": true,
"inputNeededNotifEnabled": true,
"cleanupPeriodDays": 365,
"autoCompactWindow": 200000,
"spinnerTipsEnabled": false,
"attribution": {
"commit": "",
"pr": "",
"sessionUrl": false
},
"env": {
"CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1",
"DISABLE_ERROR_REPORTING": "1"
}
}
  • Push notifications make long-running work easier to leave alone. They are only sent while Remote Control is connected.
  • Longer cleanup retention makes /resume more valuable.
  • A fixed auto-compact window keeps sessions compacting at 200K tokens instead of the default of about 967K on 1M-context models. You can also set it with /autocompact 200k.
  • Spinner tips can be distracting once you know the basics.
  • Empty attribution fields, plus sessionUrl: false, keep commits and PRs closer to your normal templates.
  • Privacy-focused environment variables turn off error reporting and session surveys.

DISABLE_TELEMETRY is deliberately not in this file. It also turns off feature-flag fetching, which makes Remote Control unavailable, so the two notification settings above would do nothing. DO_NOT_TRACK, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, and DISABLE_GROWTHBOOK have the same effect.

If you care more about telemetry than about Remote Control, add "DISABLE_TELEMETRY": "1" under env and remove the two notification settings. See Telemetry and model improvement.