tail-fin-daemon (tfd)
tfd is an agent-friendly daemon that manages a pool of Chrome browser sessions so that
multiple CLI calls and concurrent agents share tabs without opening redundant connections.
Quick Start
# Build
# Start the daemon (foreground)
# Run a business command (transparent mode — acquire/release happens automatically)
# Run with an explicit session (skip auto acquire/release)
Commands
| Subcommand | Description |
|---|---|
daemon start / stop / status |
Daemon lifecycle |
session acquire / release / list / destroy |
Pool management |
sa <cmd> |
SeekingAlpha commands |
twitter <cmd> |
Twitter (read-only) commands |
grok <cmd> |
Grok commands |
Environment Variables
| Variable | Default | Description |
|---|---|---|
TFD_SOCKET |
~/.tail-fin/daemon.sock |
Unix socket path |
TFD_HOST |
127.0.0.1:9222 |
Chrome CDP host:port |
TFD_SESSION |
(none) | Pin to an explicit session ID |
TFD_LOG |
info |
Tracing log filter (e.g. debug, tfd=trace) |
Session Modes
Transparent (default)
Each invocation automatically acquires a session in in_use mode and releases it when
done. Multiple concurrent invocations for the same site share the same pool.
# Both commands share the pool; neither opens a redundant tab
&
&
Explicit session
Pass --session (or set TFD_SESSION) to bind directly to a known session ID.
No acquire/release happens. Useful for long-running agent workflows that already called
session acquire manually.
SID=
Architecture
See the design spec:
docs/superpowers/specs/2026-04-17-tail-fin-daemon-design.md
Limitations
--connectonly: auto-launch (stealth browser) is not supported in the current release. Chrome must already be running and listening onTFD_HOST.- Twitter commands are read-only (no posting).
- Unix domain sockets only; Windows is not supported.