v0.1.1
ccwrap 0.1.1 — Claude Code 2.1.198 compatibility fixes and timezone alignment.
Important
If you sign in with a Claude subscription and run Claude Code ≥2.1.198, upgrade. Claude Code 2.1.198 turned CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST into a credential lockdown — with 0.1.0 a first-party (subscription) session launches with no usable credentials and shows "Not logged in", and /login can't recover it. 0.1.1 declares that flag only when ccwrap owns the upstream credential, so subscription login works again.
Fixes
- Claude Code ≥2.1.198 subscription login — the host-managed flag is now injected only when ccwrap supplies the credential; first-party passthrough keeps the child's own keychain OAuth. (2.1.197 and earlier were unaffected.)
- Environment scrubbing realigned to 2.1.198 — the anthropic_aws / mantle / gateway provider families, two base-URL overrides, and the host-auth channel keys are now stripped from the child, so a stray ambient variable can't reroute the session or open a credential path. Fable / custom-model-option keys are carried as model intent; the cert-store and Bedrock service-tier keys are scrubbed.
- No more repeated "custom API key" prompt — the auth placeholder is now stable per profile, so Claude Code's approval sticks after one confirmation instead of re-asking every launch.
New
- Timezone alignment — inject an aligned
TZinto Claude Code (--timezone/CCWRAP_TZ, adds a first-run prompt for China timezones) so the request's "Today's date" matches your locale.
Install / upgrade
npm install -g @hoper-j/ccwrap
# or: curl -fsSL https://raw.githubusercontent.com/Hoper-J/ccwrap/main/install.sh | sh
# or: go install github.com/Hoper-J/ccwrap/cmd/ccwrap@latestccwrap 0.1.1 —— 修复 Claude Code 2.1.198 兼容性问题,新增时区对齐。
Important
用 Claude 订阅账号登录的用户如果版本 ≥2.1.198 需要升级。 Claude Code 2.1.198 把 CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST 变成了凭据锁定——在 0.1.0 下,第一方(订阅)会话启动时会拿不到可用凭据、显示 "Not logged in",且 /login 无法自救。0.1.1 只在 ccwrap 自己提供凭据时才注入该 flag,订阅登录恢复正常。
修复
- Claude Code ≥2.1.198 订阅登录 —— host-managed flag 现在只在 ccwrap 供给凭据时注入;第一方透传保留子进程自己的钥匙串 OAuth。(2.1.197 及更早不受影响。)
- 环境变量清洗对齐 2.1.198 —— anthropic_aws / mantle / gateway 三个 provider 家族、两个 base-URL 覆盖键、host-auth 通道键现在都会从子进程清除,残留的环境变量无法再改道会话或打开凭据通路。Fable / custom-model-option 键作为模型意图保留;cert-store 和 Bedrock service-tier 键被清洗。
- 不再反复弹"custom API key"确认框 —— auth 占位符现在按 profile 固定,Claude Code 确认一次即记住,不再每次启动都问。
新增
- 时区对齐 —— 向 Claude Code 注入对齐的
TZ(--timezone/CCWRAP_TZ,中国时区增加首次运行提示),让请求里的 "Today's date" 与你的本地时区一致。
安装 / 升级
npm install -g @hoper-j/ccwrap
# 或:curl -fsSL https://raw.githubusercontent.com/Hoper-J/ccwrap/main/install.sh | sh
# 或:go install github.com/Hoper-J/ccwrap/cmd/ccwrap@latestChangelog
Features
- cbe0dbb feat(launcher): inject an aligned timezone into the Claude Code child (first-run China-TZ prompt + --timezone/CCWRAP_TZ)
- 1282e07 feat(version): derive dev-build versions from the Go 1.24 VCS stamp
Fixes
- 94175b8 fix(envpolicy): classify Fable/custom-model-option, cert-store, and Bedrock service-tier keys
- 29e61ea fix(envpolicy): scrub the anthropic_aws/mantle/gateway families and the host-auth channel
- b168c2e fix(launcher): make the auth placeholder stable per profile
- 72d6fd8 fix(preflight): only declare CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST when CCWRAP supplies the credential