docs(selfhost): add Claude Code + Codex token setup and rotation guide - #4085
Merged
Conversation
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | 6d9e9d0 | Commit Preview URL Branch Preview URL |
Jul 07 2026, 11:59 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CLAUDE_CODE_OAUTH_TOKEN) or Codex (auth.json) subscription CLIs had no guidance for obtaining, wiring up, or rotating those credentials once a subscription's usage limit resets or a token needs replacing. Adds "Claude Code (subscription)", "Codex (subscription)", and "Recognizing a stale or missing credential" sections to the existing self-host AI providers doc, covering setup and the (very different) rotation procedure for each provider.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Closes #4074
Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocallynpm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
apps/gittensory-uiroute file — nosrc/**,.github/workflows/**, or MCP package files touched.npm run test:changed(Vitest's import-graph analysis againstorigin/main) confirms zero backend test files are affected, andapps/**is explicitly excluded from Codecov (codecov.yml), so there's no coverage obligation. Skippedactionlint(no workflow changes),test:coverage/test:workers(nosrc//Worker changes),build:mcp/test:mcp-pack(no MCP package changes) as genuinely inapplicable rather than unverified. Also ran (though not on this checklist)npm run docs:drift-check(passes) and the UI's own suite (ui:test, 71/71 passing, unchanged by this diff).Safety
<token from claude setup-token>), never a real value.UI Evidencesection below with screenshots. — N/A for this owner-authored PR (see UI Evidence below).UI Evidence
N/A — owner-authored PR (screenshot-hosting isn't wired up for non-interactive use yet). Verified the rendered page directly against the live dev server instead: all 11 page headings appear in the correct order, the 3 new sections' rendered text matches the source exactly, the "Rotating it needs no restart" callout renders with the correct
notevariant, and a full-page screenshot confirmed correct end-to-end dark-theme rendering with no layout breakage.Notes
claude setup-token— the credential is a mountedauth.jsonfile, re-read fresh on every review, so re-runningcodex authtakes effect on the very next review with no restart/recreate needed. Claude Code is the opposite: its token is injected viaenv_fileat container-creation time, so rotating it needsdocker compose up -d --no-deps gittensory, not a plain restart.