Skip to content
Keboola Docs

Get started with kbagent

A guided first run of the kbagent CLI — install it, connect a Keboola project, verify with doctor, and run your first read commands. Plus multi-project and organization setup.

This walkthrough takes you from nothing to browsing a real project with kbagent in a few minutes. Follow it top to bottom for a single project; the Connect more section covers multi-project and organization setup.

Pick your operating system:

Recommended — the prebuilt wheel via the install script:

Terminal window
curl -LsSf https://raw.githubusercontent.com/keboola/cli/main/install.sh | sh

Alternative — uv, if you want to pin to a version or uninstall cleanly:

Terminal window
uv tool install "git+https://github.com/keboola/cli"

Whichever method you use, kbagent keeps itself current with its own startup update check (kbagent update runs one manually).

Confirm it’s on your PATH (all platforms):

Terminal window
$ kbagent --version
kbagent v0.66.0

There are two ways in. Sign in through your browser if you can, and reach for a Storage API token only where a browser cannot open.

If you have a browser on this machine, you need no token at all. One command signs you in and registers every project the session can reach:

Terminal window
kbagent auth login --stack https://connection.keboola.com --register-projects

Swap the URL for your own stack. kbagent opens a browser for the login (PKCE); if it cannot, it prints a code you type in on another device. Afterwards kbagent project list shows what got registered.

This is the route for CI, headless hosts, containers, and anywhere no browser can open.

These docs cannot create a token for you. Open your project in the browser at keboola.com and go to Project Settings → API Tokens → New Token: give it a description, pick Full Access (you can scope it down later), and click Create. Copy the value right away, it is shown only once.

The New Token form in Keboola Project Settings: a description field, an Expires In selector, and Full Access selected for both Files and Components & Buckets, with the Create button in the corner

Then register the project. Leave --token off and kbagent prompts for it with hidden input, so the value never lands in your shell history or on a shared command line:

Terminal window
kbagent project add --project prod --url https://connection.keboola.com

prod is an alias you pick. You use it with --project later, or set it as the default with kbagent project use prod. In a script or CI, pass the token through the KBC_TOKEN environment variable instead of a flag.

A Storage API token is enough for browsing. Some commands need an admin (master) token, e.g. creating branches or workspaces needs admin privileges. Token types and scoping options are covered in API tokens.

kbagent doctor checks your configuration and connectivity. Once a project is connected it confirms the link and flags anything else worth doing (like installing the agent plugin):

kbagent doctor output: config found, project 'docs-demo' connected to the stack (L0 - Shopify, id 264), CLI version PASS, and warnings for the MCP server and Claude Code plugin

You can also test connectivity on its own with kbagent project status.

Explore what’s there. Recent jobs:

kbagent job list --limit 5: a table of recent jobs in docs-demo with job ID, success status, component, created time, and duration

Terminal window
kbagent job list --limit 5 # recent jobs (shown above)
kbagent project list # connected projects
kbagent config list # configurations across all connected projects

Find configs, tables, buckets, and flows by name or content:

Terminal window
kbagent search "shopify"
  • Add --json to any command for machine-readable output — this is what an AI agent consumes.

  • Set a conversation ID when an agent drives kbagent, so platform observability can correlate the session (adds an X-Conversation-ID header):

    Terminal window
    export KBAGENT_CONVERSATION_ID="<unique-id>"

Several projects — register each with its own Storage token (project add), or bulk-onboard with a Manage API token:

Terminal window
KBC_MANAGE_API_TOKEN=xxx kbagent --allow-env-manage-token \
org setup --project-ids 901,9621 --url https://connection.keboola.com --yes

A whole organization (org admin) — kbagent registers every project and mints per-project tokens:

Terminal window
KBC_MANAGE_API_TOKEN=xxx kbagent --allow-env-manage-token \
org setup --org-id 123 --url https://connection.keboola.com --yes

Read commands then fan out across every connected project — see multi-project.


Something failing along the way? The Troubleshooting page covers the most common errors and their fixes.

Next: How kbagent works →

Ask Kai

Hi, I'm Kai — Keboola's AI assistant for the docs. Ask me anything and I'll answer from the documentation and cite the pages I use.

Kai is an AI and can make mistakes. Check the sources it links.