Chat
Set your typical top-up amount to show the usage chart
Run codex in the terminal to authenticate; Squid reads ~/.codex/auth.json.
Auto-detect from browser Runs on this Squid server machine only; remote phone/tablet browsers cannot share their cookies.
DevTools → Application → Cookies → claude.ai → sessionKey
Run cursor-agent in the terminal to authenticate Cursor.
Help
On mobile: at the bottom of the chat, swipe up to refresh
Input syntax
#topic@agent messagesession — FIFO queued per agent
#topic@agent!N messageadhoc — parallel, last N selected as context
#topic@agent! messageadhoc — parallel, no context
#topictype # to browse & search topics
#topic@type @ to browse agents, tab to last used
Input box icons
toggle to show only bookmarked responses — tap when empty to browse bookmarks
toggle to show only your prompts in history
filter history to current route (#topic@agent)
search within current route
cleaning_servicesinsert /clear — clears session for next message
archivestash prompt for later — tap when empty to open recent stashed prompts
pinned context — responses pinned here inject as context in adhoc turns
AgentSquid Commands — type / to browse
/clearclear session — next message starts fresh (all backends)
/stopkill running process for current topic
/stopallkill + drain queue for current topic
/deqdrain entire pending queue
/deq Nremove Nth item (1=first, -1=last)
/f, /filterfilter history using the same scope syntax as search
/filter resetclear the active filter
/bookmarks, /bmtoggle to show only bookmarked responses
/promptstoggle to show only your prompts in history
/statusopen status popup
/restartrestart the squid server — kills any in-flight prompts (confirms first)
/refreshhard refresh this browser tab — clears cache, server untouched
/remoteshow QR code for mobile / tablet access
/s, /search keywords…search history — see Search how-to below for scope syntax
Commands also work without / as exact bare words except /s.
Search how-to (filter works same without keywords)
Type /s keywords to search. Results replace the history list; press Esc or ✕ to exit.
Scope is inherited from the active filter or sticky chip — or set it explicitly in the command:
/s fix bugsearch in current scope
/s #topic kwall agents in topic (session + adhoc)
/s #topic@agent kwagent's session lane in topic
/s #topic@agent! kwagent's adhoc lane in topic
/s #topic@agent+ kwboth lanes for the exact agent in topic
/s @agent kwagent's session lane across all topics
/s @agent! kwagent's adhoc lane across all topics
/s @agent+ kwboth lanes for the exact agent across all topics
/s #all kwsearch everything
Click the ⌕ keyword tag to pull the search back into the input for editing. If the input had content, it is stashed — press to restore it.
Click ✕ on the scope badge to widen scope without exiting search. Click ✕ on the search bar to exit search entirely.
Context curation
✕ sessionclear session state; next message starts fresh
responsepin a response to inject as context in future adhoc turns
Keyboard
with empty input or only a route: browse recent routes; selected route applies immediately
navigate autocomplete, route history, or prompt history when input is single-line
Type a prompt prefix to match recent routed prompts; use in empty input to browse all
while in prompt history: return toward draft; restores stashed input and topic chip
Enterselect autocomplete item / send message
Escexit search · close autocomplete / panels
Shift+Enternewline in input
Backspaceon empty input or at the start of a prompt: expand the topic chip for editing; moving back into the prompt restores the chip
Restart Squid
Running prompts will be stopped
Restarting now will stop these active prompts before the server restarts.
Pinned context
Message
Topic memory
YAML frontmatter under squid stores Squid settings. Markdown below it is durable topic memory and may be used as agent context.
Delete
Clear Active Sessions
Save Preset
Sort:
Harnesses
Providers
Validated and backed up before saving. Most changes require a restart; file roots apply immediately.

Squid Flow =>

Type an expression above.

Canonical key (saved to DB, identifies this workflow)

Branch breakdown

Fully expanded form

Syntax

#topic1which topic (conversation) this step runs in
@agent1which agent handles this step
!fresh — start a new session instead of continuing the agent's existing one
>one-way handoff to the next step
=>alias for > — same meaning, alternate spelling
,independent branches — each side runs on its own, not chained together
#t3,#t1@a1a bare atom borrows its missing half from the nearest fully-explicit atom before it — or, if none precedes it yet, from the first fully-explicit atom anywhere in the list (here, #t3 becomes #t3@a1 even though it's written first)
+join — merges multiple steps into one downstream consumer; valid as the origin (feeding the one hop) or, under <>/<N>, as the target (its return leg is the consumer)
<> / <N>request/response round trip; <N> repeats it N times
<N:1d>round trip, waiting the given duration between every hop (out and back), both directions equally
=N>repeat this one-way handoff N times back to back, no delay
=N:1d>repeat N times, spaced by the given duration
=:1d>count omitted (defaults to 1), waiting the given duration before sending