You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`~/.claude/.claude.json` → Account info, user ID, cached configs
36
+
-`~/.claude/.claude.json` → Account info, user ID, workspace setup tracking
37
37
38
-
These files are **writable** to enable:
39
-
- OAuth authentication flow in the container
40
-
- Account state sharing between host and container
41
-
- Persistent authentication across container rebuilds
42
-
- Session continuity (no re-login required)
38
+
These files **must be writable** to enable:
39
+
- OAuth authentication flow and token refresh
40
+
- Workspace setup state tracking (`projectOnboardingSeenCount`)
41
+
- Session continuity across container rebuilds
43
42
44
-
⚠️ **Security Note**: While these files are mounted read-write, they are only accessible by the container user and stored securely with `600` permissions. Only use this feature with trusted repositories.
43
+
### Why These Must Be Writable
44
+
45
+
**`.credentials.json`**: OAuth tokens need to be refreshed periodically. Claude writes updated tokens to this file.
46
+
47
+
**`.claude.json`**: Claude tracks per-workspace setup state here. The `projectOnboardingSeenCount` field must be writable so Claude doesn't show the setup wizard on every launch.
48
+
49
+
⚠️ **Security Note**: These files contain sensitive data and are mounted read-write by necessity. They are only accessible by the container user and stored with `600` permissions. Only use this feature with trusted repositories.
45
50
46
51
## Usage
47
52
@@ -222,6 +227,29 @@ The OAuth flow opens a local callback server. In containers, this can behave dif
222
227
- Ensure the `.credentials.json` file exists on your host before rebuilding
**Root cause:** Claude tracks setup wizard completion per-workspace in `.claude.json` under `.projects["/workspaces/pythontemplate"].projectOnboardingSeenCount`. When this is `0`, the setup wizard runs. Set it to `1` to mark setup as complete.
250
+
251
+
**For future workspaces:** Replace `/workspaces/pythontemplate` with your actual container workspace path.
252
+
225
253
## Modifying Configuration
226
254
227
255
Configuration files (except credentials) are read-only. You **cannot** modify Claude settings from within the container.
0 commit comments