JW
Dossier CLIque
Hire me
Public project · Python · MIT · On PyPI
Built by Justin Willhite

CLIque, a folder for every CLI on the box.

CLIque is a driver, not an IDE, that keeps a private tmux server, puts every AI coding-agent session, Claude Code, Codex, Gemini, Grok, Antigravity, or anything added in four lines of config, in a folder you can find, and gives you a browser to jump between them. 24 MB resident, no framework, no build step, Python standard library only.

01

Repo stats

CLIque is three repos: the panel itself, a native Android client, and a Windows desktop client. Live hourly, from the local checkouts and the GitHub API.

clique (the panel)

334Commits
2026-08-18First commit
2026-09-22Last push
PythonPrimary language
2GitHub stars
v0.71.0Latest release

clique-android

35Commits
KotlinPrimary language
v0.3.1Latest release

clique-desktop

31Commits
GoPrimary language
v0.3.17Latest release
02

Why I built it

If you run more than two coding agents at once, you already know the problem: terminals everywhere, no idea which one is waiting on you, a conversation you cannot get back to. CLIque is the panel for that.

It replaces two tools I was running before it, Codeman and CodemanPanel. The whole argument is size: Codeman measured 253 MB resident; CLIque measures 24 MB, and that gap is the product. It is a driver, not an IDE: it does not parse a vendor's protocol, impersonate a model, or reimplement the tools I already have. It keeps a private tmux server, puts every session in a folder I can actually find, and gives me a browser to jump between them.

[The specific day-to-day moment that pushed me to replace Codeman, in my words]

03

What it does

From the repo's own feature table.

  • Command palette. Ctrl/Cmd+K: fuzzy jump between sessions, most-recently-used first.
  • History, resume and reap. Every conversation your CLIs have kept, filed by directory, resumable in one click. An idle tab's process stops after a few hours (about 700 MB freed for an idle Claude) and resumes exactly where it was.
  • Worktrees. Start a session in its own git worktree, so several agents work the same repo at once without touching each other's files.
  • Conversation view. A CLI that draws full-screen keeps no scrollback; this reads its transcript back in a clean sheet.
  • Agent-drivable. A one-word state per session and a wait-until-done call, so an agent can drive CLIque itself: fan one task across many repos and collect the results.
  • Told, not checked. One webhook posted when a session wants you, errors, finishes or dies. ntfy, Gotify, Discord, Mattermost and Uptime Kuma push all speak it: real phone notifications, no app of its own.
  • Security. Password login (scrypt), API tokens, CSRF, Origin and Host checks, CSP with per-response nonces.
  • Phone and PWA. Installs as its own app on a phone: a drawer sidebar, a full-width pane, and an on-screen row for the keys a terminal needs.
04

Stack and architecture

Python 3.11+ and tmux, nothing else. No framework, no node_modules, no build step. Its own tmux server (tmux -L clique), isolated from anything else on the box. A PTY exists only while a browser is attached, so an idle session costs the process nothing; cost scales with open tabs, not with session count. Each viewer gets its own grouped tmux session, since a plain attach makes every client share one size. Closing a tab sends SIGHUP and detaches; it does not kill the session. Neither test suite is mocked: tools/smoke.py runs against a real tmux server, tools/smoke_http.py runs over real HTTP and WebSocket, and GitHub Actions runs both on every push.

Python 3.11+ stdlibtmuxWebSocketKotlin (Android)Go + WebView2 (Windows)
05

Status

Live and in daily use, on PyPI as clique-panel. The Android client installs and self-updates from CLIque's own F-Droid repository at fdroid.useclique.dev/repo. The Windows desktop client is a WebView2 window around the same panel, about 8 MB, with its own taskbar icon and an updater. What ships next, and why, is tracked in the repo's own ROADMAP.md and CHANGELOG.md.

06

FAQ

What is CLIque?
A driver, not an IDE, for running more than one AI coding CLI at once. It keeps a private tmux server, puts every CLI session (Claude Code, Codex, Gemini, Grok, Antigravity, or anything added in four lines of config) in a folder you can find, and gives you a browser to jump between them.
What does CLIque replace?
Codeman and CodemanPanel. The argument is size: Codeman measured 253 MB resident; CLIque measures 24 MB, no framework, no node_modules, no build step, Python standard library only.
Is CLIque an IDE or another AI model?
No. It does not parse a vendor's protocol, impersonate a model, or reimplement the CLIs it drives. It is the control panel in front of tools you already run.
Is there a mobile app?
Yes, clique-android, a native Android client that pairs to your own panel with a short code, opens a terminal, and can send a real Ctrl-C or answer a permission prompt from the notification. Installed from CLIque's own F-Droid repository.
How do I install CLIque?
pip install clique-panel (needs Python 3.11+ and tmux), then clique password and clique. It binds to loopback by default; a Tailscale or reverse-proxy tunnel is needed to reach it from another machine.

← Back to Work