@phaseo/cli. It connects coding harnesses to Phaseo and provides a first-party terminal workflow for the Phaseo control plane.
Use it when you want to:
- sign in as a real Phaseo user from a local shell, remote shell, or agent runtime
- create and rotate API keys or management keys
- manage workspaces, presets, settings, and guardrails
- use first-party CLI OAuth while user-owned OAuth apps remain in private testing
- inspect models, providers, pricing, credits, activity, analytics, and generations
Install
Check the installed version
phaseo --versionprints the installed version.phaseo versionprints the version plus the recommended update command for the current package manager.- interactive runs also show an update hint when a newer published version is available.
phaseo command remains available as a compatibility alias.
Sign in
Start with:- Sign in with Phaseo: browser OAuth with authorization code + PKCE
- Sign in with Device Code: best for SSH, CI, headless shells, and agent environments
Terminal output
Interactive terminals receive Phaseo’s colour, hierarchy, and ephemeral setup spinners. Spinners usestderr and clear their line when work completes. Non-TTY stderr and TERM=dumb disable animation; NO_COLOR disables colour. Commands using --json always return decoration-free structured output for agents and automation. Use FORCE_COLOR=1 only when a terminal wrapper supports colour but does not report itself as a TTY.
Confirm who you are
Create keys
--json when an agent or automation needs the raw created key once.
Manage workspaces and guardrails
OAuth apps
Phaseo uses one OAuth authorization server for the first-party CLI, user-created applications, and dynamically registered MCP clients. The CLI uses browser or device login with rotating refresh tokens. Third-party clients use authorization code with PKCE, explicit scopes and workspace consent, revocable delegated access tokens, and optional protected-resource binding. The hosted Phaseo API enables third-party OAuth. Self-hosted or preview API deployments keep it disabled unlessPHASEO_THIRD_PARTY_OAUTH_ENABLED is set to a truthy value. Accepted truthy values are 1, true, yes, and on, matched case-insensitively after trimming whitespace. Enabling it exposes user-created OAuth app management and dynamic client registration, so pair it with reviewed redirect URI, consent, client-secret, rate-limit, and workspace authorization configuration.
.env
Docker
Kubernetes
Security model
- CLI sessions require OS-backed secure storage by default. Set
PHASEO_SESSION_BACKEND=fileonly as an explicit opt-in when an OS credential store is unavailable; it stores refresh tokens in a permission-restricted plaintext file. phaseo logoutrevokes the stored refresh token before clearing local state.- Management keys require explicit capabilities.
- Regular inference keys rely on guardrails, routing policies, and workspace settings rather than a separate scope model.