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.
Recommended settings
Section titled “Recommended settings”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" }}Why these defaults
Section titled “Why these defaults”- Push notifications make long-running work easier to leave alone. They are only sent while Remote Control is connected.
- Longer cleanup retention makes
/resumemore 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.
Telemetry or Remote Control: pick one
Section titled “Telemetry or Remote Control: pick one”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.