Sandbox
@JetBrains/teamcity-cli

TeamCity CLI for terminal and agent workflows

TeamCity CLI gives you terminal access to TeamCity builds, logs, queues, agents, and project settings. It also includes an Agent Skill so Claude Code, Cursor, and other agents can use the same commands through `teamcity skill install`. The CLI supports JSON and plain output for scripting, `--web` for opening the matching UI page, and raw REST API calls when a dedicated command is not available. It can also manage multiple TeamCity servers from one local config.

123 stars16 forksGoUpdated 7d ago
Who it's for

Builders who use TeamCity from the terminal or want Claude Code and Cursor to work with TeamCity commands.

What it delivers

You can run, inspect, and manage TeamCity work from one command line instead of switching between the UI and ad hoc scripts.

What it does

Build and queue commands

Start, list, watch, log, cancel, and download builds, plus inspect and manage the queue.

Agent management

List agents, open terminals, execute commands, authorize, enable, disable, move, and reboot agents.

Project and job editing

Create, view, and edit jobs, steps, parameters, settings, VCS roots, SSH keys, and cloud profiles.

Raw REST API access

Use `teamcity api` when no built-in command fits the task, while keeping stored credentials.

Agent skill support

Install, update, and remove the bundled Agent Skill for Claude Code, Cursor, and other compatible agents.

Multiple server setup

Store and switch between more than one TeamCity server in local configuration.

How to get it

  1. 1macOS (Homebrew)
    brew install jetbrains/utils/teamcity
  2. 2Linux
    curl -fsSL https://jb.gg/tc/install | bash
  3. 3Windows (Winget)
    winget install JetBrains.TeamCityCLI
  4. 4npm
    npm install -g @jetbrains/teamcity-cli
  5. 5Debian/Ubuntu
    curl -fsSLO https://github.com/JetBrains/teamcity-cli/releases/latest/download/teamcity_linux_amd64.deb
    sudo dpkg -i teamcity_linux_amd64.deb
  6. 6RHEL/Fedora
    sudo rpm -i https://github.com/JetBrains/teamcity-cli/releases/latest/download/teamcity_linux_amd64.rpm

README

TeamCity CLI

GitHub Release

teamcity is the official command-line client for TeamCity. It covers the day-to-day — starting builds, tailing logs, digging through the queue — and the odd jobs too: shelling into build agents, editing job settings, raw REST calls when nothing else fits.

cli cli

Full documentation, including installation, authentication, and a command reference, lives at jb.gg/tc/docs.

Install

macOS (Homebrew):

brew install jetbrains/utils/teamcity

Linux:

curl -fsSL https://jb.gg/tc/install | bash

The install script also works on macOS. New installs use ~/.local/bin without sudo; rerunning it updates an existing unmanaged installation in place. Missing Bash/Zsh PATH entries are added automatically. Restart your shell afterward, or use the printed PATH command.

Windows (Winget):

winget install JetBrains.TeamCityCLI

npm:

npm install -g @jetbrains/teamcity-cli
More installation methods (deb, rpm, Chocolatey, Scoop, build from source)

Debian/Ubuntu:

curl -fsSLO https://github.com/JetBrains/teamcity-cli/releases/latest/download/teamcity_linux_amd64.deb
sudo dpkg -i teamcity_linux_amd64.deb

RHEL/Fedora:

sudo rpm -i https://github.com/JetBrains/teamcity-cli/releases/latest/download/teamcity_linux_amd64.rpm

Arch Linux (AUR):

yay -S teamcity-bin

PowerShell:

irm https://jb.gg/tc/install.ps1 | iex

CMD:

curl -fsSL https://jb.gg/tc/install.cmd -o install.cmd && install.cmd && del install.cmd

Chocolatey:

choco install teamcitycli

Scoop:

scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install teamcity

Build from source:

go install github.com/JetBrains/teamcity-cli/tc@latest

See the getting started guide for the full walkthrough.

Usage

For security, redirects never downgrade HTTPS or forward request headers to another origin. Cross-origin artifact downloads remain supported without credentials.

Log in once and the CLI remembers the server:

teamcity auth login

Then:

# my latest build on this branch
teamcity run list --user @me --branch @this --limit 1

# start a build and stay attached to it
teamcity run start MyProject_Build --branch main --watch

# pin different revisions in a job with multiple VCS roots
teamcity run start MyProject_Build --revision AppRepo=abc123 --revision AssetsRepo=@main

# logs from the latest build of a job
teamcity run log --job MyProject_Build

# what's sitting in the queue
teamcity queue list

# shell into a build agent
teamcity agent term Agent-Linux-01

One naming note: TeamCity says build and build configuration; the CLI says run and job. The glossary has the full mapping.

Set TEAMCITY_RO=1 to block writes and remote shells (agent exec and agent term). Use server-side permissions for a security boundary.

Every command takes --json or --plain for scripting, and --web opens the matching page in the TeamCity UI. When no command covers what you need, teamcity api calls the REST API directly with your stored credentials. You can also log in to several servers and switch between them — see configuration.

Commands

Artifact downloads are confined to --output; failed or incomplete transfers preserve existing files.

GroupCommands
authlogin, logout, status
runlist, start, view, watch, log, tree, changes, tests, diff, cancel, download, artifacts, restart, pin/unpin, tag/untag, comment
joblist, view, create, tree, pause/resume, step list/view/add/delete, param list/get/set/delete, settings list/get/set
projectlist, view, create, tree, vcs list/view/create/test/delete, ssh list/generate/upload/delete, cloud profile/image/instance, connection list/view/create github-app/create docker/authorize/delete, param, token get/put, settings export/status/validate
pipelinelist, view, create, validate, pull, push, schema (enabled runners/features), delete
queuelist, approve, remove, top
agentlist, view, term, exec, jobs, authorize/deauthorize, enable/disable, move, reboot
poollist, view, link/unlink
serverplugin upload (optionally with --hot-reload)
apiRaw REST API access
linkBind this repository to a TeamCity project via teamcity.toml
configlist, get, set
aliasset, list, delete
skilllist, install, remove, update
updateCheck for and install CLI updates (--check/--json for status only, --yes for non-interactive installation)

Run teamcity <command> --help for usage, or see the command reference.

For AI agents

The CLI ships with an Agent Skill that teaches coding agents (Claude Code, Cursor, and others) how to drive teamcity:

teamcity skill install           # auto-detects installed agents
teamcity skill install --project # install to current project only
teamcity skill update            # update to the version bundled with teamcity
teamcity skill remove            # uninstall

or specifically for Claude Code:

/plugin marketplace add JetBrains/teamcity-cli
/plugin install teamcity-cli@teamcity-cli

See AI agent integration for details.

Learn more

Contributing

TeamCity CLI is open source under the Apache-2.0 license. Bug reports and pull requests are welcome — CONTRIBUTING.md covers how the project is built and tested.

project settings status reports the server’s runtime message and missing DSL context parameters. Its “Recorded” timestamp is when the status was recorded, not the last successful sync.

Connections listed or selected with --project include parent projects, including _Root. Delete an inherited connection from its owning project.

Files in the repo

Repository payload30 top-level entries
  • .claude-plugin
  • .github
  • .teamcity
  • acceptance
  • api
  • docs
  • evals
  • internal
  • schemas
  • scripts
  • skills
  • tc
  • .env.example
  • .gitignore
  • .golangci.yml
  • .goreleaser.yaml
  • .teamcity.yml
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • go.mod
  • go.sum
  • install.cmd
  • install.ps1
  • install.sh
  • justfile
  • LICENSE
  • README.md
  • skills.go
  • teamcity.toml

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k