Documentation
Everything you need to know about using TermIQ
What is TermIQ
TermIQ gives you remote access to your AI terminals — Claude Code, Gemini CLI, Cursor, and any other VS Code or shell terminal — from your phone, through the termiq.io progressive web app (PWA).
You keep working in the tools you already use. TermIQ mirrors those terminals to your phone in real time, pings you when something needs your attention, and lets you respond on the spot — without walking back to your desk.
Who it's for
Anyone who runs long or interactive AI tasks on a computer and doesn't want to babysit them: developers running Claude Code or Gemini CLI, people kicking off long builds or test suites, and anyone who needs to approve an assistant's next step while away from the keyboard.
The core loop
- Run AI tasks on your computer as usual (for example, a Claude Code session in your editor or over SSH).
- Get notified on your phone the moment a task finishes or pauses to ask you something.
- Monitor and respond — read the live output and answer
Y/nprompts straight from your phone, even directly from the push notification.
Your computer does the work; your phone keeps you in the loop and in control.
Two ways to connect
TermIQ links an agent on your machine to the termiq.io PWA on your phone. Pick whichever agent matches where your terminals live — you can use either or both.
| Connect via | Best for | How |
|---|---|---|
VS Code Extension (TermIQ.termiq) |
Terminals inside your local VS Code / Cursor editor | Install the extension, then Ctrl+Shift+P → TermIQ: Login |
CLI (@termiq/cli) |
Headless, SSH, or CI environments — any shell | npm i -g @termiq/cli, then run termiq |
What you get
- Real-time sync — terminal output appears on your phone with sub-second latency, and reconnects automatically when your network changes.
- Reliable input — what you type from your phone reaches the terminal in order, even on a flaky mobile connection.
- Push notifications — know when a task completes, waits for input, or errors out, even with your phone in your pocket.
- Respond from a notification — answer
Y/nconfirmation prompts without opening the app. - End-to-end encryption — terminal content is encrypted on your devices (XSalsa20-Poly1305); the TermIQ server is a blind relay that only passes encrypted data and cannot read it. Output is streamed, never stored.
- File visibility — see the files your agent is touching as it works (optional, respects your
.gitignore). - Install as an app — the termiq.io PWA installs like a native app and works on iOS 16.4+ with full push-notification support.
Account model
- Free forever — 1 agent and 2 terminals, no credit card required.
- Works with Claude Code, Gemini CLI, Cursor, and any other terminal program — TermIQ mirrors whatever runs in the terminal, so there's nothing AI-specific to configure.
Ready to connect your first terminal? Continue with Getting Started.
Getting Started
This guide takes you from zero to a live terminal on your phone in a few minutes: create an account, pick an agent, install it, log in, and open termiq.io on your phone.
1. Create your account
Go to termiq.io and sign up. It's free forever — no credit card required (the free plan includes 1 agent and 2 terminals).
Two ways to register:
- Email + password — your password needs at least 8 characters, including an uppercase letter, a lowercase letter, and a number. We email you a 6-digit verification code (valid for 15 minutes); enter it to finish.
- Continue with Google — one click, no password to manage.
You'll use this account when you log in from your agent in the next step.
2. Choose your agent
| Agent | Best for | Install from |
|---|---|---|
| VS Code Extension | You work inside VS Code and want your editor terminals synced | VS Code Marketplace (TermIQ.termiq) |
CLI (@termiq/cli) |
Headless servers, SSH sessions, CI, or a plain shell | npm (@termiq/cli) |
If in doubt: use the Extension if your daily driver is VS Code; use the CLI for anything without a graphical editor (remote boxes over SSH, CI runners, or a standalone terminal). You can install both later if you use both environments.
3. Quick start
Whichever agent you chose, the flow is the same:
- Install — add the VS Code Extension, or run
npm i -g @termiq/cli. - Log in — authorize the agent against your account (in VS Code: TermIQ: Login; in the CLI:
termiq login). Both open your browser to confirm a short device code. - Open termiq.io on your phone — sign in with the same account. Add it to your home screen to install the PWA and enable push notifications.
- Open a terminal — start a synced terminal from your agent and watch it appear on your phone, ready to monitor and control.
That's it — your terminal is now in your pocket. You'll get push notifications when a task finishes or needs input, and you can answer Y/n prompts right from your phone. Terminal data is end-to-end encrypted and streamed, never stored.
Requirements at a glance
| What you need | Version / detail |
|---|---|
| VS Code (for the Extension) | 1.109 or newer |
| Node.js (for the CLI) | 18 or newer |
| iPhone push notifications | iOS 16.4 or newer |
| TermIQ account | Free, created at termiq.io |
Next, continue with the agent-specific setup: VS Code Extension or CLI Agent.
VS Code Extension
The TermIQ extension turns the integrated terminals in your VS Code into cloud-synced terminals you can monitor and control from your phone at termiq.io. Output is end-to-end encrypted — the server relays it but never stores or reads it.
Requires VS Code 1.109 or newer and a free TermIQ account.
Install
Install from the VS Code Marketplace:
- Open the Extensions view (
Ctrl+Shift+X/Cmd+Shift+X). - Search for TermIQ (publisher TermIQ) and click Install.
Or install directly by item ID TermIQ.termiq:
ext install TermIQ.termiq
30-second setup
- Open the Command Palette:
Ctrl+Shift+P(Cmd+Shift+Pon macOS). - Run TermIQ: Login.
- Your browser opens automatically and the device code is copied to your clipboard — scan the QR or paste the code to authorize.
- Once authorized, the extension connects and the status bar shows a check mark.
- Open termiq.io on your phone — your terminals are now in your pocket.
If the browser tab closes before you finish, the login notification has an Open Again button to reopen the authorization page.
Creating terminals
Run TermIQ: New Terminal from the Command Palette (or click the status bar item when connected) to create a cloud-synced terminal. New terminals are named TermIQ #N by default. You can also create a terminal remotely from your phone — it appears in your VS Code window automatically. Either way, the terminal stays in sync both directions: type on your laptop or your phone, and the output mirrors live.
Only terminals created via TermIQ: New Terminal are synced — pre-existing VS Code terminals aren't captured.
Command reference
All commands are prefixed with TermIQ:.
| Command | What it does |
|---|---|
TermIQ: Login |
Authorize this machine via your browser and connect |
TermIQ: Logout |
Disconnect and sign out |
TermIQ: Reconnect |
Force a reconnect without closing your terminals |
TermIQ: New Terminal |
Create a new cloud-synced terminal |
TermIQ: Upgrade Plan |
Open the billing page to raise your agent/terminal limits |
TermIQ: Rename Agent |
Set a friendly name for this machine (shown in the web app) |
TermIQ: Set Log Level |
Choose log verbosity (silent / error / warn / info / debug) |
TermIQ: Show Logs |
Open the TermIQ output channel |
TermIQ: Open Log File |
Open the on-disk log file (when file logging is enabled) |
TermIQ: Clear Logs |
Clear the output channel |
Naming this machine
Run TermIQ: Rename Agent to give this computer a recognizable name (e.g. "Work Laptop", "Home PC") that shows up in the phone app. Names are limited to 100 characters. To return to automatic detection, clear the termiq.agentName setting in Settings.
Status bar
A TermIQ item in the status bar reflects live state:
- Connection state — a check mark when connected, a spinner while connecting, an error/disconnected icon otherwise.
- Terminal count and plan limit — e.g.
TermIQ (2/2)shows current vs. max terminals ((2)when unlimited). A warning badge appears when you reach the limit. - Click action — creates a new terminal when connected, reconnects when authorized but offline, or starts login when signed out. Hovering shows a tooltip with your plan, per-terminal stats, and quick actions.
When you hit your terminal limit, the extension prompts you to Upgrade Plan, which opens the billing page.
Settings reference
Configure these in Settings (search "TermIQ") or in settings.json.
| Setting | Default | Description |
|---|---|---|
termiq.serverUrl |
https://termiq.io |
TermIQ server URL |
termiq.agentName |
"" |
Friendly name for this machine in the web app. Empty = auto-detect. |
termiq.autoConnect |
true |
Connect automatically when VS Code starts |
termiq.fileWatcher.enabled |
true |
Track file changes so the phone app shows what your terminals touched |
termiq.fileWatcher.useGitignore |
true |
Respect your .gitignore when watching files |
termiq.fileWatcher.include |
["**/*"] |
Glob patterns of files to watch |
termiq.fileWatcher.exclude |
["**/node_modules/**", "**/.git/**", "**/dist/**", "**/.next/**", "**/.turbo/**", "**/.cache/**", "**/coverage/**", "**/*.log"] |
Glob patterns to ignore |
termiq.logLevel |
silent |
Output-channel verbosity: silent, error, warn, info, debug |
termiq.logToFile |
false |
Mirror logs to ~/.termiq/logs/extension.log (rotated, 5MB × 3). Only when logLevel ≠ silent. |
File watcher
The file watcher is on by default and is purely a convenience: it lets the phone app show which files your terminal activity touched, so you can follow along remotely. It respects your .gitignore and skips noisy folders like node_modules, dist, and .git out of the box. Tune what it tracks with termiq.fileWatcher.include / exclude, or turn it off entirely with termiq.fileWatcher.enabled.
CLI Agent (@termiq/cli)
The TermIQ CLI turns any terminal — local, SSH, or CI — into a remote-accessible session. Run termiq, and your shell is streamed to termiq.io in real time, so you can monitor and control it from your phone. End-to-end encryption keeps your output private; the server is a blind relay.
Install
Requires Node.js 18+ and a TermIQ account.
npm i -g @termiq/cli
The installed binary is termiq.
Basic usage
termiq
This spawns a new shell in your current terminal and connects it to termiq.io. Open termiq.io on your phone to watch and drive the session, get a push when a task finishes or waits for input, and answer Y/n straight from the notification.
To disconnect, end the shell with exit or Ctrl+D.
Running
termiqwhile already inside a TermIQ session is blocked so you don't accidentally nest sessions. Use the existing session, or pass--forceto start a nested one anyway.
Commands
| Command | Description |
|---|---|
termiq |
Start a shell with cloud access (default command) |
termiq login |
Authenticate via browser (Device Code Flow) |
termiq login --token KEY |
Authenticate with an API key |
termiq logout |
Clear stored credentials |
termiq status |
Show current authentication state |
termiq --version, -V |
Print version and exit |
termiq --help, -h |
Show help |
If you run termiq without being logged in, it automatically starts the login flow before connecting.
Authentication
Interactive (browser):
termiq login
Opens a browser Device Code Flow to link the CLI to your account.
Headless / CI / SSH (API key):
Create an API key at termiq.io/settings/api-keys (keys are prefixed tiq_), then either log in with it:
termiq login --token tiq_your_api_key
…or provide it through the environment, which is convenient for CI and unattended hosts:
export TERMIQ_TOKEN=tiq_your_api_key
termiq
TERMIQ_TOKEN is equivalent to passing --token.
Check the connection with termiq status; sign out with termiq logout.
Flags
| Flag | Description |
|---|---|
--server URL |
Override the server URL (default: https://termiq.io) |
--token KEY |
API key for headless login |
--watch, -w |
Enable the file watcher (off by default) |
--statusline |
Show a tmux-style status bar in the local terminal (off by default) |
--verbose, -v |
Verbose logging to stderr |
--log-level L |
Log verbosity: silent | error | warn | info | debug (default: silent) |
--log-to-file |
Write logs to ~/.termiq/logs/cli.log (suppresses stderr output) |
--force |
Start even when already inside a TermIQ session (nested run) |
--help, -h |
Show help |
--version, -V |
Print version and exit |
Configuration & logs
Configuration and credentials live in ~/.termiq/:
| File | Contents |
|---|---|
config.json |
Server URL and agent name |
credentials |
Authentication tokens (stored with chmod 0600) |
logs/cli.log |
Log file (written when --log-to-file is set) |
Command-line flags override values from config.json.
Plan
Free forever: 1 agent and 2 terminals. iOS push requires iOS 16.4+.
Using TermIQ on Your Phone
Your phone is a full remote control for the AI terminals running on your machines (Claude Code, Gemini CLI, and others). Open termiq.io in your mobile browser, sign in, and you can watch live output, answer the AI's confirmations with a single tap, send commands, and follow the files your agent touches — all end-to-end encrypted.
Install as an app
TermIQ is a PWA — install it from the browser for a full-screen, app-like experience and reliable push. No App Store needed.
iOS / iPadOS (16.4+)
- Open
https://termiq.ioin Safari. - Tap Share → Add to Home Screen → confirm.
iOS push requires iOS 16.4+ and launching TermIQ from the installed home-screen icon — a Safari tab cannot receive push.
Android
- Open
https://termiq.ioin Chrome. - Tap ⋮ → Install app (or accept the install prompt).
Desktop (Chrome / Edge) — click the install icon in the address bar to run TermIQ in its own window.
After installing, sign in once and your agents and terminals are ready.
Monitor your terminals
Tap an agent to see its terminals, then open one to watch its output stream live with sub-second latency. Type commands from the PWA and they run on your machine — input is delivered reliably and in order, even on a shaky mobile connection. The view reconnects on its own when your network changes.
Respond to prompts
When Claude Code or Gemini CLI pauses for a confirmation, TermIQ surfaces it so you can answer in one tap.
- From the notification — a Waiting for Input push includes the prompt text and quick-action buttons. Tap Yes or No and the answer goes straight to your terminal.
- In the terminal — a Confirmation Bar appears at the bottom: Yes approves (sends
y), No declines (sendsn), and ✕ minimizes it to a pulsing Pending badge so you can keep typing — tap the badge to bring it back.
For prompts that aren't simple Yes/No, the terminal shows the matching control: a Multiple Choice bar for numbered options, or an Input bar for free-text answers.
In-notification buttons depend on your OS and browser; the in-terminal Confirmation Bar always works.
Push notifications
Get notified the moment a terminal needs you — even when the app is closed. TermIQ sends a push when a terminal completes a task, is waiting for a Y/n confirmation or input, or hits an error.
Enable:
- Install TermIQ as an app (see above).
- Open it → Settings.
- Turn on Push notifications and accept the browser permission.
- Choose which events notify you: Task Completed, Waiting for Input, Errors.
Quiet Hours — set a start/end time to silence pushes overnight.
Notification content is end-to-end encrypted between your agent and your device — the server only relays it and never sees terminal data. If pushes stop, reopen Settings and toggle the permission off and on to re-subscribe.
See the files your agent touches
When the file watcher is enabled on your agent (on by default), the phone app shows which files your terminal activity created or changed, so you can follow along remotely without opening your editor. It respects your .gitignore and skips noisy folders like node_modules.
Troubleshooting
Agent shows Disconnected or stuck Connecting
Run TermIQ: Reconnect (Extension) or restart termiq (CLI). Both auto-reconnect on network changes, so brief drops usually recover on their own. Confirm the server URL is https://termiq.io and that your network allows the connection.
Login won't complete
Device codes expire after a few minutes — start the login again (TermIQ: Login or termiq login). Confirm the code in the same browser session where you're signed in to termiq.io.
Terminal not showing on the phone
In VS Code, only terminals created with TermIQ: New Terminal are synced — open one that way, then refresh the PWA. For the CLI, make sure termiq is still running.
Can't add another terminal
The free plan allows 1 agent and 2 terminals. Close an unused terminal, or upgrade your plan (TermIQ: Upgrade Plan in VS Code, or the billing page on termiq.io).
No push notifications
Open termiq.io as an installed PWA (Add to Home Screen) and allow notifications in Settings. On iOS, push requires iOS 16.4+ and launching from the home-screen icon. If pushes stop, toggle the notification permission off and on to re-subscribe.
Collecting logs for a bug report
- Extension — run TermIQ: Set Log Level →
debug, reproduce the issue, then TermIQ: Show Logs. - CLI — rerun with
--log-level debug(or--log-to-fileto write~/.termiq/logs/cli.log).
Report problems at termiq.io/support.