Known limitations
An honest list, current as of the latest release. Developers forgive a gap they were warned about and quit over one they discover.
Platform#
The desktop app is macOS only in practice. The Mac dmg is signed, notarized
and run daily. A release also carries a Linux .deb for x86-64 and arm64: those
are built in a container and checksummed, and nobody has ever installed one on
real Linux hardware. Treat them as untested artifacts, not as a supported
platform. There is no AppImage at all.
The Linux and WSL2 CLI install has never been run by anyone. There is now a
curl | sh installer for Linux and for Windows through WSL2, and the binaries it
fetches are cross-compiled on macOS, checksummed and signed. Not one of them has
been executed on a Linux machine, and nobody has installed toryo inside a WSL2
distro on a real Windows box. The code that platform needs is unit-tested and
that is all. See Linux & WSL2, which spells out the same
thing before you install.
The desktop app#
Updating is a manual act, on purpose. The app can update itself now, but it never does so on its own: no timer, no update on quit, no background download. You press Check for updates in the license dialog, or click the release notice in the bell, and the Update button stays disabled until nothing is running, updating restarts the background services, which ends every agent session and dispatch job in flight. If you would rather not wait, download the new dmg and replace the app by hand as before.
Open in tmux is broken in a packaged app. The button shells out through a
path baked in at build time, which does not exist on your machine. Attach to the
session yourself with tmux attach -t <session> until this is fixed.
Host prerequisites#
toryo installs its own binaries and nothing else. A coding agent, git, tmux
and the GitHub CLI have to be there already, and gh has to be signed in or the
coding sequence fails partway through when it tries to open a pull request.
toryo doctor names everything missing and prints the command to fix it, but it
will not install any of it for you unless you run toryo setup from a terminal
and accept its offers.
The knowledge plane without Ollama#
Semantic search degrades to keyword matching. Ollama is optional, but without it, and without both models pulled, memory and library search fall back to text matching and every global memory write queues for review instead of being judged.
Both models are needed and they do different jobs. nomic-embed-text embeds;
llama3.1 judges. An install with only the first embeds fine and fails every
judgement.
The database runtime is a one-way door#
Docker or pglite is chosen at provisioning and is not reversible without a
pg_dump and a reload. Pick it up front. Both are real Postgres with identical
schemas, so this is an operational choice rather than a capability one, but it
is not one you can flip later on a whim.
pglite serializes queries through a single backend session, so a machine running many concurrent jobs will feel it.
Agents#
The three harnesses are not equal. Claude Code, Codex and GitHub Copilot all run work, but only Claude Code supports every capability toryo can ask for. Structured output, execution modes, subagents, context optimization and session instrumentation are Claude Code only; cost estimation is unavailable on Codex and Copilot. toryo declares each gap rather than discovering it mid-run, so a step that needs something a harness lacks is refused rather than half-run, but if you turn Claude Code off you will notice which features go with it.
No harness resumes a session. A run that fails restarts its step from the beginning rather than picking up inside the agent session that died. This is a gap on every harness, not a preference.
An install with no coding agent has nothing to drive. toryo installs its own binaries and none of the agents. At least one has to be there and signed in.
See Harnesses.
Chat access#
Claude Desktop cannot resolve projects on its own. It has no working
directory, so tools take an optional project argument and otherwise fall back
to global scope. Name the project in your question, or pin one with
TORYO_BRAIN_PROJECT. Claude Code resolves it from your working directory.
Some commands are withheld from toryo_run. Process lifecycle (start,
migrate, serve, watch, and so on) and destructive or interactive commands
(forget, reset, delete, psql, the cleanup-* family) stay behind a
terminal. cancel is reachable on purpose.
There is no remote endpoint. The server is stdio, so it attaches to clients running on your machine. A browser session at claude.ai cannot reach it.
See MCP.
Sharing#
Team knowledge sharing is not enabled yet. The shared knowledge plane is built, but it is not part of this release. Today every install's knowledge is its own.
Scheduling#
Scheduled work needs the machine awake. The scheduler is a local daemon. A closed laptop runs nothing, and a missed window is missed rather than queued.