Your team already lives in the terminal. SSH sessions, vim, grep, shell scripts, tmux — that's the environment DBAs and platform engineers actually work in. Genius CLI was built for exactly that world. It brings the AI-powered intelligence of Genius Hub into the terminal, so you get answers without ever leaving the environment you’re already in.
Type a question in plain English. Get a real answer, grounded in live data from your Db2 instance, streamed back in the terminal. That's it.
No Tooling Shift Required
The biggest adoption barrier for any new capability is the tooling change it demands. Genius CLI eliminates that barrier entirely.
Genius Hub already provides a full web console with rich monitoring, query tools, and administration capabilities. Genius CLI isn't a replacement for that — it's a complement to it. It brings the same AI intelligence into the terminal, so engineers who are already working in a shell don't have to break their flow to get an answer.
If you’re already working in a terminal, you don't need to:
- Switch to a browser mid-incident to check a metric
- Leave their SSH session to look up a slow query
- Context-switch out of their shell scripting or on-call workflow
You install a single binary geniuscli, connect it to the Genius Hub instance you already have, and the same AI capability is available right where you are.
This matters especially for on-call scenarios. When something goes wrong at 2am, engineers are already in a terminal. geniuscli means they can type "why is the database slow" and get a useful answer immediately, without switching context to a browser or console.
It also matters for teams with strict tooling policies. No browser extensions, no new SaaS tools, no agent to install on the database server. Just a binary that calls the Genius Hub they already run.
One Conversation, Both Interfaces
geniuscli isn't a siloed chat window. Every conversation you have in the CLI is synced with Genius Hub, and every conversation you have in Genius Hub is available in the CLI. There's no separate history to hunt through and no copy-pasting an answer from one place to reference it in the other — it's one running record of what you asked and what the AI found, accessible from wherever you happen to be.
In practice, that means an investigation doesn't have to stay wherever it started. Start troubleshooting a lock wait from an SSH session at 2am, and a teammate can open Genius Hub the next morning and see that exact conversation — the questions asked, the answers given, the profile it ran against. Or work the other way: start exploring a schema in the Hub console during the day, then resume that same conversation from the terminal that night with /session.
Two interfaces, one conversation.
What It Is
geniuscli is the terminal client for the Db2 agentic AI platform. It connects to Genius Hub (IBM Data Console) and gives you an AI-powered chat interface to your database. The experience is similar to tools like Claude CLI or the GitHub Copilot CLI — an input bar at the bottom, streamed answers above it, slash commands for shortcuts — except every answer is grounded in live data from your actual Db2 instance.
Installation
macOS and Linux
Download the release package from your IBM representative or from fix central, then run:
macOS
tar -xzf geniuscli-mac.tar.gz
Linux
tar -xzf geniuscli-linux.tar.gz
Install
bash install.sh
The installer copies the geniuscli binary to ~/.local/bin/. If that directory is already in your PATH, you can run geniuscli immediately. Otherwise, open a new terminal or add it manually:
export PATH="$HOME/.local/bin:$PATH"
To persist across sessions, add that line to your shell profile (~/.zshrc on macOS, ~/.bashrc on Linux).
Uninstall
rm ~/.local/bin/geniuscli
Configuration
No configuration is required to get started. When you run geniuscli, a login form appears where you can enter your Genius Hub credentials interactively.
If you want to skip the login form and connect automatically every time, export your credentials in your shell:
export GENIUS_HUB_HOSTNAME=<host>
export GENIUS_HUB_PORT=<port>
export GENIUS_HUB_PROTOCOL=<https>
export GENIUS_HUB_USERNAME=<your-username>
export GENIUS_HUB_PASSWORD=<your-password>
Add those lines to ~/.zshrc or ~/.bashrc to persist them across sessions.
Note: Avoid storing passwords in shared environments or version-controlled shell profile files. Use the interactive login form when possible.
Starting a Session
geniuscli
Startup flow:
- Prompts you to select a theme on first launch (your choice is saved and restored automatically)
- Opens the login form — enter your Genius Hub credentials and press Enter. If credentials were exported in your shell, this step is skipped
- Chat session starts
You can also pass an initial question on the command line. The startup flow completes and then your question is submitted automatically:
geniuscli "Show me active connections"
The Chat Interface
Type your question at the input bar and press Enter to submit. The AI streams its answer in real time. You can have up to three outstanding requests in flight simultaneously — further submissions are queued until one completes.
Keyboard shortcuts

Themes
Type /theme to open the theme picker. Multiple built-in themes are available. Your selection is saved and restored automatically on next launch. You can also set a theme directly:
/theme dracula
Slash Commands
Type / in the input bar to open the autocomplete command menu. Use ↑ / ↓ to navigate and Enter to insert the command. Type /help for an interactive command browser.
General

Connection management

Example:
/profiles
/use production-db
DBA shortcuts
These commands send a pre-built diagnostic question to the AI — one keystroke replaces writing out the full query.

Example:
/explain SELECT * FROM EMPLOYEE WHERE DEPTNO = 'A00'
Custom Commands
You can create your own slash commands to save frequently used queries.
Save a query as a command
After sending a message, save that last query as a reusable command:
/save-as check-deadlocks
Rules for command names: lowercase letters, numbers, and hyphens only; must start with a letter; maximum 24 characters; cannot shadow a built-in command.
The command is saved to ~/.db2-agent/commands.d/personal.yaml and registered immediately. It will be available the next time you open geniuscli.
Import a YAML file of commands
/import ~/Downloads/dba-commands.yaml
The file is copied to ~/.db2-agent/commands.d/. Tilde (~/) expansion is supported in the path.
Manage custom commands

YAML format
Custom command files use a simple structure:
name: my-dba-pack
description: My DBA command pack
commands:
check-deadlocks:
description: Show recent deadlocks and the involved transactions
prompt: Show me recent deadlocks on this database, including the transactions involved, the objects locked, and any available deadlock trace.
top-tables:
description: Show the largest tables by row count
prompt: List the 10 largest tables in the database by row count and total data size.
wlm-queued:
description: Show WLM-queued queries
prompt: Show me any queries currently queued in WLM service classes, including the application, class name, and how long they have been waiting.
Tip: Use {args} in a prompt to pass arguments directly from the command line:
my-explain:
description: Explain an access plan for a given SQL statement
prompt: "Explain access plan for: {args}"
Usage:
/my-explain SELECT * FROM ORDERS WHERE STATUS = 'PENDING'
Place files in ~/.db2-agent/commands.d/ for automatic loading on startup. Run /reload after editing a file manually to pick up changes without restarting.
Under the Hood
A few things that make the terminal experience fast and reliable:
Custom diff-based renderer. The UI is built without Electron, React, or Ink. Every render tick computes a diff between the current and previous frame and writes only the changed lines to stdout using ANSI escape sequences. The result is flicker-free output even on slow SSH connections with high latency.
Clipboard integration. /copy <n> and mouse drag-to-select both work. The clipboard layer tries OSC 52 first (works transparently over SSH), then falls back to the native OS clipboard, then to a file if neither is available.
Collapsible turns. Long answers can be collapsed to a single summary line and re-expanded with a toggle, keeping the scrollback manageable in a long session.
Credential safety. Passwords and tokens are never embedded in URLs — they go in request headers only. The debug log at /tmp/db2-response.log sanitizes all credential field names before writing. Partial database configs are entirely omitted from backend payloads rather than sent incomplete.
Troubleshooting
geniuscli: command not found
The installation directory was not added to your PATH automatically. Close and reopen your terminal. If the problem persists, add ~/.local/bin to your PATH manually and reload your shell profile.
Connection failure at startup
If the CLI cannot reach Genius Hub, it falls back to a manual connection form where you can enter credentials directly. Check that the Genius Hub host is reachable and that your credentials are correct.
No response or CLI hangs after submitting a question
The Db2 agentic AI backend service may be unavailable. Contact your IBM representative for assistance.
Who Is This For?
- DBAs who want to diagnose performance problems through conversation rather than juggling a query editor, a monitoring console, and documentation simultaneously
- Developers who need schema discovery, query explanation, and access-plan analysis without leaving the terminal
- On-call engineers who need fast answers about locks, blocking, or HADR state over an SSH session at any hour
- Teams on strict tooling policies who can't adopt new web-based consoles but can install a single binary
The Bottom Line
AI-powered database intelligence is only useful if people actually use it. The biggest reason new tools go unused isn't capability — it's friction. Genius CLI removes the friction by meeting you where you already are the terminal.
One binary. No new console. No context switch. Connect to the Db2 you already have, ask questions in the language you already speak, and get answers in the environment you already work in.
What's Next
This post covers the core Genius CLI experience. The following topics will be covered in dedicated posts:
- Pipe-friendly mode — bringing geniuscli to shell scripting and automation pipelines. Run it in cron jobs, CI checks, and incident response runbooks without needing a TTY. Pipe AI-generated answers directly to grep, jq, or any other tool in your workflow.
- dmctop support — a top-like live monitor for Db2, surfacing real-time statement activity, wait states, and resource consumption directly in the terminal.
Stay tuned.
About the Authors
Krishna Guntuka is a Lead Software Engineer with 9+ years of experience across Db2's enterprise product portfolio. He leads the design and development of Agentic AI for the Db2 Database Assistant, including its multi-agent orchestration framework, MCP-based tooling ecosystem, and supporting guardrails, memory, and retrieval-augmented generation (RAG) pipelines. Built with Python, LangChain, and LangGraph, and integrated across watsonx.ai, Vertex AI, AWS Bedrock, Azure and vLLM, the platform delivers autonomous, enterprise-grade AI capabilities that make Db2 smarter, faster, and more cost-efficient at scale.
Kevin Rex is a Software Engineer on the Db2 Agentic AI Framework team, driving key capabilities across troubleshooting, platform integration, and conversational experience. He leads the disk-spilling troubleshooting workflow, has played a major role in bringing agentic capabilities into Db2 Genius Hub, and has contributed to the CLI, chat-session architecture, and the development UI.
Carson Davis is a Software Developer on the Db2 Agentic Framework team. Building on groundwork laid by the team's earlier contributors, he helped carry Genius CLI through its production release and continues to develop it today.