co config — configuration
Read and write config, switch environment profiles
co config reads and writes the config at ~/.config/collabops/config.json (mode 0600). It holds the host, credentials (token / session cookie), default workspace, default target branch, display timezone, aliases, and environment profiles.
| Key | Meaning |
|---|---|
| api.host | API host, e.g. https://collabops.ai |
| auth.token / auth.cookie | Credentials — filled in by co auth login |
| workspace.slug | Default workspace slug |
| defaults.targetBranch | Default target branch for co cr create |
| display.timezone | Timezone for printed timestamps. Empty means this machine's zone (e.g. UTC, Asia/Seoul) |
| aliases.<name> | User-defined aliases, managed by co alias |
| currentProfile | Name of the active environment profile |
| profiles.<name> | A parked environment profile — host + credentials + workspace as one bundle |
co config get <key>
Prints a single value via dot notation. Exits with code 1 if the key is missing. Secrets (auth.token / auth.cookie) are redacted by default so they don't land in your shell history; add --reveal when a script needs the raw value.
co config get api.host
co config get workspace.slug
co config get defaults.targetBranch
co config get auth.token --reveal # raw secret, for script use| Flag | Description |
|---|---|
| --reveal | Print the raw auth.token / auth.cookie value (redacted by default) |
co config list
Prints every stored key and value at once, with secrets redacted. Parked profiles show up too, so this is the fastest way to see the whole current state.
co config list
# api.host = https://collabops.ai
# auth.cookie = ***
# currentProfile = default
# defaults.targetBranch = main
# profiles.onprem.api.host = https://collabops.example.com
# profiles.onprem.workspace.slug = acme
# workspace.slug = collabops-oneco config set <key> <value>
Writes the value back to disk.
co config set api.host https://collabops.ai
co config set workspace.slug collabops-one
co config set defaults.targetBranch main
co config set display.timezone UTC # pin printed timestamps to UTCco config unset <key>
Removes a key — the entry itself goes away, it is not set to an empty string.
co config unset workspace.slug # clear the default workspace
co config unset auth.token # drop the token, keep cookie auth
co config unset profiles.onprem # delete the parked onprem profileco config path
co config path
# /Users/<you>/.config/collabops/config.jsonEnvironment profiles — working across more than one CollabOps
A profile bundles one environment's host, credentials, and default workspace — for moving between servers, such as a hosted CollabOps and a self-hosted one. The active profile's values sit at the top level of the config file (api / auth / workspace); every other profile is parked under profiles.<name>.
{
"currentProfile": "default",
"api": { "host": "https://collabops.ai" },
"auth": { "token": "", "cookie": "..." },
"workspace": { "slug": "collabops-one" },
"profiles": {
"default": { "api": { "host": "https://collabops.ai" }, "auth": { … }, "workspace": { "slug": "collabops-one" } },
"onprem": { "api": { "host": "https://collabops.example.com" }, "auth": { … }, "workspace": { "slug": "acme" } }
}
}co config use parks the environment you were on and promotes the incoming one to the top level. All three values move together, so you can never call one instance while still holding another's session.
co config profiles
Lists the saved profiles as a table. The leading * marks the active one. Credentials are never echoed — only whether that profile is logged in (yes/no).
co config profiles
┌───┬─────────┬───────────────────────────────┬───────────────┬───────────┐
│ │ PROFILE │ HOST │ WORKSPACE │ LOGGED IN │
├───┼─────────┼───────────────────────────────┼───────────────┼───────────┤
│ * │ default │ https://collabops.ai │ collabops-one │ yes │
│ │ onprem │ https://collabops.example.com │ acme │ yes │
└───┴─────────┴───────────────────────────────┴───────────────┴───────────┘co config use <profile>
Switches the active profile. An unknown name is an error on purpose: a typo must not drop you into an environment with no credentials. Add --create to start a new one — it begins empty, so run co auth login next.
co config use onprem # switch to another saved environment
co config use onprem --create # create the profile, then run co auth login
co config profiles # see what exists| Flag | Description |
|---|---|
| --create | Create the profile if it doesn't exist yet |
There is no dedicated delete command — remove a profile with co config unset profiles.<name>.
Prefer co auth login / co auth logout for credentials — co config set auth.token … works but skips verification.
If only the workspace changes, you don't need a profile: set a new default with co config set workspace.slug <slug>, or pass -W <slug> for a single command. List the workspaces you belong to with co workspace list.