cchost 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +65 -156
- package/package.json +6 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to `cchost` are documented here.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
|
|
8
|
+
## [0.4.4] - 2026-06-19
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **macOS officially supported.** CI has been running the full test matrix on
|
|
13
|
+
`macos-latest` since v0.4.0; documentation now reflects that. README, package
|
|
14
|
+
description, and keywords updated. No code change — macOS users were already
|
|
15
|
+
on a verified path, the claim was just stale.
|
|
16
|
+
- Sharper `package.json` description — leads with the value prop
|
|
17
|
+
("multi-account profile manager for Claude Code") instead of the implementation
|
|
18
|
+
detail. Improves discoverability on `npm search` and the npm package page.
|
|
19
|
+
- README tagline added under the H1 ("nvm, but for your Claude Code accounts")
|
|
20
|
+
and a platforms badge for at-a-glance OS support.
|
|
21
|
+
|
|
8
22
|
## [0.4.3] - 2026-06-07
|
|
9
23
|
|
|
10
24
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
# cchost
|
|
2
2
|
|
|
3
|
+
> **nvm, but for your Claude Code accounts.** Works on Windows, Linux, and macOS.
|
|
4
|
+
|
|
3
5
|
[](https://www.npmjs.com/package/cchost)
|
|
4
6
|
[](https://github.com/allenhack638/cchost/actions/workflows/ci.yml)
|
|
5
7
|
[](./LICENSE)
|
|
6
8
|
[](https://nodejs.org)
|
|
9
|
+
[](#install)
|
|
7
10
|
|
|
8
11
|
<p align="center">
|
|
9
12
|
<img src="https://raw.githubusercontent.com/allenhack638/cchost/master/docs/demo.png" alt="cchost CLI — cc list showing masked emails and shared resource counts" width="100%">
|
|
10
13
|
</p>
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Each profile is a complete, isolated `CLAUDE_CONFIG_DIR`: credentials, session history, project state, plugins, and settings. Create one with `cc add <name>`, launch under it with `cc use <name>`. Nothing is shared between profiles unless you ask for it.
|
|
15
|
+
`cchost` is a multi-account profile manager for [Claude Code](https://code.claude.com).
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
- **Isolated profiles** — each profile is a complete `CLAUDE_CONFIG_DIR` with its own credentials, session history, and settings. Switch with `cc use <name>`.
|
|
18
|
+
- **Shared pool** — `skills/`, `agents/`, `commands/`, `projects/`, and shared config files (`mcp.json`, `settings.json`, `CLAUDE.md`) link across all profiles by default. Credentials never do.
|
|
19
|
+
- **Custom endpoints** — route a profile through any Anthropic-compatible API (Moonshot, OpenRouter, self-hosted vLLM, corporate proxies) instead of Anthropic OAuth.
|
|
20
|
+
- **Zero runtime dependencies** — single Node CLI on your `PATH`. Identical behavior across PowerShell, cmd, bash, zsh, and fish.
|
|
17
21
|
|
|
18
22
|
## Install
|
|
19
23
|
|
|
@@ -21,212 +25,117 @@ Each profile is a complete, isolated `CLAUDE_CONFIG_DIR`: credentials, session h
|
|
|
21
25
|
npm install -g cchost
|
|
22
26
|
```
|
|
23
27
|
|
|
24
|
-
Requires Node.js 18+ and Claude Code 2.1.140+
|
|
28
|
+
Requires Node.js 18+ and Claude Code 2.1.140+ (`npm install -g @anthropic-ai/claude-code`).
|
|
25
29
|
|
|
26
|
-
##
|
|
27
|
-
|
|
28
|
-
| Command | What it does |
|
|
29
|
-
| --- | --- |
|
|
30
|
-
| `cc add <profile>` | Create a subscription profile (logs in with Anthropic OAuth on first use). Auto-symlinks artifact dirs into `~/.claude/`. |
|
|
31
|
-
| `cc add <profile> --custom [...]` | Create — or, if it already exists, edit — a profile routed through a custom API endpoint. Opens a wizard, or takes `--base-url=URL --token=TOKEN [--model=…]`. See [Custom endpoints](#custom-endpoints-kimi-openrouter-etc). |
|
|
32
|
-
| `cc use <profile> [...args]` | Launch Claude under that profile. Profile must already exist. Args after the name are forwarded verbatim to `claude`. |
|
|
33
|
-
| `cc list [<profile>] [--json] [--reveal]` | List every profile (login state, email, shared count N/7, endpoint), or show one profile in detail. Emails and tokens are masked by default; `--reveal` shows both in full. |
|
|
34
|
-
| `cc copy default <profile> [--force]` | Copy `~/.claude/` resources into a profile. Meaningful only when one or more resources have been unlinked via `cc unlink`; otherwise every resource resolves to the same on-disk path and is skipped. Skip-on-collision by default; `--force` overwrites. `cc migrate` is a deprecated alias. |
|
|
35
|
-
| `cc link <profile> [<profile>...] [--projects\|--tools\|--config]` | (Re-)link a profile's resources to `~/.claude/`. No flag = all 7. Refuses to overwrite private content. |
|
|
36
|
-
| `cc unlink <profile> [--projects\|--tools\|--config]` | Break the links and copy current `~/.claude/` content into the profile as private resources. Non-destructive. |
|
|
37
|
-
| `cc remove <profile> [--force]` | Delete a profile. Requires typing the profile name to confirm. `--force` is required when private (unlinked) resources exist. |
|
|
38
|
-
| `cc doctor [--fix [--force]] [--json]` | Diagnose environment, storage, and platform issues. |
|
|
39
|
-
| `cc help [command]` | Print usage (top-level, or for a single command). |
|
|
40
|
-
|
|
41
|
-
### Examples
|
|
30
|
+
## Quickstart
|
|
42
31
|
|
|
43
32
|
```bash
|
|
44
|
-
cc add work
|
|
45
|
-
cc use work
|
|
46
|
-
cc use work --resume
|
|
47
|
-
cc
|
|
48
|
-
cc
|
|
49
|
-
cc remove old-profile
|
|
33
|
+
cc add work # create a profile
|
|
34
|
+
cc use work # launch Claude under it (prompts for login on first run)
|
|
35
|
+
cc use work --resume # resume the last conversation
|
|
36
|
+
cc list # see all profiles
|
|
37
|
+
cc remove old-profile # delete a profile
|
|
50
38
|
```
|
|
51
39
|
|
|
52
|
-
|
|
40
|
+
## Commands
|
|
41
|
+
|
|
42
|
+
| Command | What it does |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `cc add <profile>` | Create a subscription profile. Logs in via Anthropic OAuth on first `cc use`. Auto-shares all 7 resources with `~/.claude/`. |
|
|
45
|
+
| `cc add <profile> --custom [...]` | Create or edit a custom-endpoint profile. Interactive wizard, or `--base-url=URL --token=TOKEN [--model=…]`. See [Custom endpoints](#custom-endpoints). |
|
|
46
|
+
| `cc use <profile> [...args]` | Launch Claude under that profile. Extra args are forwarded to `claude`. |
|
|
47
|
+
| `cc list [<profile>] [--json] [--reveal]` | List all profiles or show one in detail. Emails and tokens are masked by default; `--reveal` prints them in full. |
|
|
48
|
+
| `cc copy default <profile> [--force]` | Seed an unlinked profile resource from `~/.claude/`. No-op for fully-shared profiles. |
|
|
49
|
+
| `cc link <profile> [--projects\|--tools\|--config]` | Link a profile's resources to `~/.claude/`. Defaults to all 7 when no flag is passed. |
|
|
50
|
+
| `cc unlink <profile> [--projects\|--tools\|--config]` | Break the link and make those resources private to the profile. Non-destructive. |
|
|
51
|
+
| `cc remove <profile> [--force]` | Delete a profile. Requires typing the profile name. `--force` required when private resources exist. |
|
|
52
|
+
| `cc doctor [--fix [--force]] [--json]` | Diagnose environment, storage, and platform issues. `--fix` applies safe auto-fixes; `--force` is required for destructive ones. |
|
|
53
|
+
| `cc help [command]` | Print usage. |
|
|
54
|
+
|
|
55
|
+
Sample `cc list` output:
|
|
53
56
|
|
|
54
57
|
```
|
|
55
58
|
Profile LoggedIn Email Shared Endpoint
|
|
56
59
|
kimi false - 7/7 api.moonshot.ai
|
|
57
60
|
personal true p************.com 7/7 subscription
|
|
58
|
-
scratch false - 7/7 subscription
|
|
59
61
|
work true w************.com 7/7 subscription
|
|
60
62
|
```
|
|
61
63
|
|
|
62
|
-
`
|
|
64
|
+
The `Shared` column counts how many of the 7 shareable resources are linked into `~/.claude/`. `7/7` is the default; lower numbers mean one or more resources have been `cc unlink`ed and now hold private content.
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
## Sharing model
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
Anything that authenticates a profile stays per-profile; everything else is shared.
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
were added. Run `cc doctor --fix` to backfill them.
|
|
70
|
+
| Resource | Shared by default | Flag group |
|
|
71
|
+
| --- | :---: | --- |
|
|
72
|
+
| `projects/` | ✓ | `--projects` |
|
|
73
|
+
| `skills/`, `agents/`, `commands/` | ✓ | `--tools` |
|
|
74
|
+
| `mcp.json`, `settings.json`, `CLAUDE.md` | ✓ | `--config` |
|
|
75
|
+
| `.credentials.json`, `.claude.json`, `.cc-env.json` | never | — |
|
|
76
|
+
| `sessions/`, `plugins/` | never | — |
|
|
76
77
|
|
|
77
|
-
|
|
78
|
+
Sharing uses POSIX symlinks on Linux/macOS and directory junctions on Windows (no admin or Developer Mode required). File resources fall back to a hard link on Windows when symlink creation would require elevation. Note that `mcp.json` and `settings.json` can execute arbitrary code through MCP servers and hooks — if a profile needs an isolated copy of either, run `cc unlink <profile> --config`.
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
| Resource | Location | Shared? | Flag group |
|
|
82
|
-
| --- | --- | :---: | --- |
|
|
83
|
-
| `projects/` | `~/.claude/projects/` | ✓ (symlink) | `--projects` |
|
|
84
|
-
| `skills/` | `~/.claude/skills/` | ✓ (symlink) | `--tools` |
|
|
85
|
-
| `agents/` | `~/.claude/agents/` | ✓ (symlink) | `--tools` |
|
|
86
|
-
| `commands/` | `~/.claude/commands/` | ✓ (symlink) | `--tools` |
|
|
87
|
-
| `mcp.json` | `~/.claude/mcp.json` | ✓ (file symlink / hard link) | `--config` |
|
|
88
|
-
| `settings.json` | `~/.claude/settings.json` | ✓ (file symlink / hard link) | `--config` |
|
|
89
|
-
| `CLAUDE.md` | `~/.claude/CLAUDE.md` | ✓ (file symlink / hard link) | `--config` |
|
|
90
|
-
| `sessions/` | per-profile | — | (never shared) |
|
|
91
|
-
| `plugins/` | per-profile | — | (never shared) |
|
|
92
|
-
| `.credentials.json` | per-profile | — | Anthropic OAuth token. Never touched. |
|
|
93
|
-
| `.claude.json` | per-profile | — | Account identity (re-synced on every launch). |
|
|
94
|
-
| `.cc-env.json` | per-profile | — | Custom-endpoint API key. Never copied, never linked. |
|
|
95
|
-
|
|
96
|
-
`mcp.json` carries MCP server tokens and `settings.json` carries hooks that can run arbitrary commands. Sharing them means every profile sees the same set — if you need per-profile separation for one of them, `cc unlink <profile> --config` breaks the link and makes that profile's copies private.
|
|
97
|
-
|
|
98
|
-
### Seeding a private profile from `~/.claude/`
|
|
99
|
-
|
|
100
|
-
If a profile has unlinked resources (`cc unlink <p>`) and you want to seed them from the current `~/.claude/`:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
cc copy default work # copies anything unlinked from ~/.claude/ → work
|
|
104
|
-
cc copy default work --force # same, overwriting if already present
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
For a fresh `cc add` profile this is a no-op — every resource already resolves to `~/.claude/` via its symlink, so there's nothing to copy. `cc copy` becomes meaningful only after `cc unlink`. (`cc migrate` is a deprecated alias for `cc copy` and still works.)
|
|
108
|
-
|
|
109
|
-
### Opting out of sharing for a profile
|
|
80
|
+
To break sharing for a single profile:
|
|
110
81
|
|
|
111
82
|
```bash
|
|
112
|
-
cc unlink work --tools
|
|
113
|
-
cc unlink work --projects
|
|
114
|
-
cc unlink work --config
|
|
115
|
-
cc unlink work
|
|
116
|
-
cc link work --tools
|
|
117
|
-
cc link work --config # re-share just the config files
|
|
83
|
+
cc unlink work --tools # private skills/agents/commands
|
|
84
|
+
cc unlink work --projects # private projects/
|
|
85
|
+
cc unlink work --config # private mcp.json/settings.json/CLAUDE.md
|
|
86
|
+
cc unlink work # all 7 private
|
|
87
|
+
cc link work --tools # re-share
|
|
118
88
|
```
|
|
119
89
|
|
|
120
|
-
`cc unlink` is non-destructive —
|
|
121
|
-
|
|
122
|
-
Credential files (`.credentials.json`, `.claude.json`, `.cc-env.json`) are never touched: each profile keeps its own auth state.
|
|
90
|
+
`cc unlink` is non-destructive — pool content is copied into the profile before the link is broken. `cc link` refuses to overwrite existing private content; remove or relocate the private resource manually, then re-run.
|
|
123
91
|
|
|
124
|
-
|
|
92
|
+
Use `cc copy default <profile>` to seed an unlinked resource from the current `~/.claude/`. For fully-shared profiles this is a no-op.
|
|
125
93
|
|
|
126
|
-
|
|
94
|
+
## Custom endpoints
|
|
127
95
|
|
|
128
|
-
|
|
129
|
-
- Files (`mcp.json`, `settings.json`, `CLAUDE.md`) use file symlinks where possible. On Windows without Developer Mode, file symlinks require elevation — `cc link` falls back to a **hard link** there, which works without admin and behaves identically for edit-in-place flows.
|
|
96
|
+
A profile can route through any Anthropic-compatible API — Moonshot/Kimi, OpenRouter, Requesty, self-hosted vLLM, or a corporate proxy — instead of Anthropic's subscription OAuth.
|
|
130
97
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
If two profiles open the same project at the same time, both will write to the same conversation files in `~/.claude/projects/<cwd>/` (last write wins). Either avoid that or run `cc unlink <profile> --projects` on one of them.
|
|
134
|
-
|
|
135
|
-
`cc remove` is safe with fully-shared profiles — it deletes only the symlinks, leaving `~/.claude/` untouched. If a profile has *private* (unlinked) resources, `cc remove` requires `--force` because that content is unique to the profile and will be lost.
|
|
136
|
-
|
|
137
|
-
## Custom endpoints (Kimi, OpenRouter, etc.)
|
|
138
|
-
|
|
139
|
-
A profile can route through any Anthropic-compatible API endpoint instead of Anthropic's subscription OAuth — Moonshot/Kimi, OpenRouter, Requesty, a self-hosted vLLM, or a corporate proxy. You declare this when you create the profile, with `cc add <profile> --custom`.
|
|
140
|
-
|
|
141
|
-
> **Billing:** a custom-endpoint profile bills through the **third-party provider**, using the API key you supply — **not** your Anthropic subscription. You are responsible for that provider's usage charges. A subscription profile is unaffected.
|
|
142
|
-
|
|
143
|
-
A custom-endpoint profile and a subscription profile are mutually exclusive: a profile is born one or the other and stays that way. `cc add --custom` refuses to run on a profile that already has Anthropic OAuth credentials — create custom-endpoint profiles fresh.
|
|
144
|
-
|
|
145
|
-
### Worked example — Moonshot / Kimi
|
|
98
|
+
> **Billing:** custom-endpoint profiles bill through the **third-party provider**, not your Anthropic subscription.
|
|
146
99
|
|
|
147
100
|
```bash
|
|
148
101
|
cc add kimi --custom --base-url=https://api.moonshot.ai/anthropic \
|
|
149
|
-
--token=sk-your-
|
|
102
|
+
--token=sk-your-key \
|
|
150
103
|
--model=kimi-k2.5
|
|
151
104
|
cc use kimi
|
|
152
105
|
```
|
|
153
106
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
Run `cc add <profile> --custom` with no value flags for an interactive wizard instead — it prompts for every field and never echoes the token. `cc add --custom` is atomic: if you cancel the wizard, no profile is left behind.
|
|
157
|
-
|
|
158
|
-
### Editing a custom-endpoint profile
|
|
159
|
-
|
|
160
|
-
Re-run `cc add <profile> --custom` on a profile that already has a custom endpoint and it switches to **edit mode**: the wizard prefills current values, and with flags only the flags you pass are changed.
|
|
107
|
+
Run `cc add <profile> --custom` with no value flags for an interactive wizard — it prompts for every field and never echoes the token. Re-running on an existing custom-endpoint profile enters **edit mode**: the wizard prefills current values, and with flags only the flags you pass are changed.
|
|
161
108
|
|
|
162
109
|
```bash
|
|
163
110
|
cc add kimi --custom --model=kimi-k3 # change just the model
|
|
164
111
|
cc add kimi --custom --token=sk-rotated # rotate the API key
|
|
165
112
|
```
|
|
166
113
|
|
|
167
|
-
|
|
114
|
+
Subscription and custom-endpoint profiles are mutually exclusive: a profile is either one or the other for its entire lifetime. To switch, remove the profile with `cc remove` and recreate it.
|
|
168
115
|
|
|
169
|
-
|
|
170
|
-
Profile: kimi
|
|
171
|
-
Directory: /home/you/.claude-profiles/kimi
|
|
172
|
-
LoggedIn: false
|
|
173
|
-
Email: -
|
|
174
|
-
Shared: 7/7
|
|
175
|
-
Endpoint: api.moonshot.ai
|
|
176
|
-
Base URL: https://api.moonshot.ai/anthropic
|
|
177
|
-
Token: sk-you...key9 (32 chars)
|
|
178
|
-
Model: kimi-k2.5
|
|
179
|
-
Opus: kimi-k2.5
|
|
180
|
-
Sonnet: kimi-k2.5
|
|
181
|
-
Haiku: kimi-k2.5
|
|
182
|
-
Subagent: kimi-k2.5
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
`cc list <profile> --reveal` prints the full API key and the full email — do not paste that output anywhere.
|
|
116
|
+
Inspect with `cc list <profile>` (token masked) or `cc list <profile> --reveal` (full). The endpoint URL should not include `/v1` — Claude Code appends `/v1/messages` itself. Most providers serve a single model; `--model` applies to every tier (`opus`/`sonnet`/`haiku`/`subagent`), or override per-tier with `--opus=`, `--sonnet=`, etc.
|
|
186
117
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
When you launch a custom-endpoint profile, `cc use` prints a one-line reminder to stderr:
|
|
118
|
+
On launch, `cc use` prints a one-line endpoint banner to stderr:
|
|
190
119
|
|
|
191
120
|
```
|
|
192
121
|
[cchost] Profile 'kimi' → api.moonshot.ai (custom endpoint billing applies)
|
|
193
122
|
```
|
|
194
123
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
## How it works
|
|
198
|
-
|
|
199
|
-
`cc` is a Node CLI with **zero runtime dependencies**. For `cc use` it:
|
|
200
|
-
|
|
201
|
-
1. Resolves the profile directory under `~/.claude-profiles/<name>/`
|
|
202
|
-
2. Sets `CLAUDE_CONFIG_DIR` in its **own** spawn environment
|
|
203
|
-
3. Spawns `claude` with `stdio: 'inherit'` so the TUI works correctly
|
|
204
|
-
4. Forwards the child's exit code
|
|
205
|
-
|
|
206
|
-
The env var is set on the child process only — that's all `claude` needs.
|
|
207
|
-
|
|
208
|
-
## Sensitive data
|
|
209
|
-
|
|
210
|
-
`~/.claude-profiles/<profile>/` holds real OAuth credentials. Treat it like SSH keys: don't commit it, don't share it, don't sync it to public cloud storage. The `.gitignore` shipped with this project excludes profile directories from anywhere they might land. `cc copy` and `cc link` never touch `.credentials.json` or `.claude.json`.
|
|
124
|
+
## Security
|
|
211
125
|
|
|
212
|
-
|
|
126
|
+
`~/.claude-profiles/<profile>/` holds real OAuth credentials and API keys. Treat it like `~/.ssh`: don't commit it, don't share it, don't sync it to public cloud storage. The shipped `.gitignore` excludes profile directories. `cc copy` and `cc link` never touch credential files (`.credentials.json`, `.claude.json`, `.cc-env.json`); each profile keeps its own auth state.
|
|
213
127
|
|
|
214
128
|
## Troubleshooting
|
|
215
129
|
|
|
216
|
-
|
|
217
|
-
Install it (`npm install -g @anthropic-ai/claude-code`) and make sure `claude --version` runs in a fresh terminal.
|
|
130
|
+
Run `cc doctor` first — it checks Node, Claude Code version, profile integrity, symlinks, and the shared pool.
|
|
218
131
|
|
|
219
|
-
**`
|
|
220
|
-
Earlier versions had bugs where Windows read `.claude.json` from `%USERPROFILE%` regardless of `CLAUDE_CONFIG_DIR`, breaking isolation. Run `claude update`.
|
|
132
|
+
**`Claude Code does not appear to be installed`** — install with `npm install -g @anthropic-ai/claude-code` and verify `claude --version` runs in a fresh terminal.
|
|
221
133
|
|
|
222
|
-
**`
|
|
223
|
-
`cc use` does not auto-create profiles — that prevents typos like `cc use wokr` from silently creating a new, blank one. Run `cc add <name>` first.
|
|
134
|
+
**`warning: Claude Code <version> is older than 2.1.140`** — earlier versions on Windows read `.claude.json` from `%USERPROFILE%` regardless of `CLAUDE_CONFIG_DIR`, breaking isolation. Run `claude update`.
|
|
224
135
|
|
|
225
|
-
|
|
226
|
-
Names must be free of path separators, whitespace, `..`, leading dots, and reserved DOS names (CON, PRN, COM1…). Stick to letters, digits, dashes, underscores.
|
|
136
|
+
**`Profile "<name>" does not exist`** — `cc use` does not auto-create profiles. Run `cc add <name>` first.
|
|
227
137
|
|
|
228
|
-
**
|
|
229
|
-
That was a known bug in the cmd-based predecessor (`%*` ignored `shift`). This package forwards only the argv after `<profile>` to `claude`; the action and profile name themselves are consumed by `cc`.
|
|
138
|
+
**Profile name rejected** — names must not contain path separators, whitespace, `..`, leading dots, or DOS reserved names (`CON`, `PRN`, `COM1`…). Use letters, digits, dashes, and underscores.
|
|
230
139
|
|
|
231
140
|
## License
|
|
232
141
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cchost",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.4",
|
|
4
|
+
"description": "Multi-account profile manager for Claude Code — switch accounts, share skills/agents/projects, route to custom endpoints. Works on Windows, Linux, and macOS.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
7
7
|
"claude-code",
|
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
"profile",
|
|
11
11
|
"multi-account",
|
|
12
12
|
"credentials",
|
|
13
|
-
"isolation"
|
|
13
|
+
"isolation",
|
|
14
|
+
"macos",
|
|
15
|
+
"windows",
|
|
16
|
+
"linux"
|
|
14
17
|
],
|
|
15
18
|
"homepage": "https://github.com/allenhack638/cchost#readme",
|
|
16
19
|
"bugs": {
|