Early version v0.1.0 · Native agents, one terminal workflow.Current status

Navigation

Browse documentation

Known limitations

Practical boundaries of the early version, from limit detection and platforms to handoff and permissions.

On this page

Usage-limit detection

Detection reads the text an agent prints, and those messages are not a documented interface. If an agent changes its wording, failover will not trigger and the agent will simply stay on its limit screen. One general reader covers every agent: it looks for “allowance used up” together with when it returns or what to do. It has been tried on real messages from two agents, as test inputs, and on example sentences for the rest. It has not been tried on a real exhausted account of each agent.

The detector needs the limit wording together with a reset or retry hint and a quiet provider, which lowers the chance that a conversation quoting a limit message triggers a switch, but does not remove it. An agent that keeps working for 20 seconds after such text is left running.

Failover with a real exhausted quota

A limit on a real account moved a session to another agent earlier in development, before the per-agent wording was removed. Since then the same message is a test input of the general reader, and other pairs are covered with real child processes that print what an agent prints. A switch at a genuinely exhausted quota has not been run again.

The frame and the mouse

The mouse wheel reaching an agent that asks for the mouse itself was seen scrolling the transcript of one agent, Codex, in a real window; other agents that ask for the mouse were not tried. Text selection needs Shift held down while you drag, because uuldana-cli captures the mouse. The /agent line is recognized only when it is typed as a whole line; a line edited with the cursor keys or completed with Tab is passed to the agent. An agent may have a command of its own with the same name.

Learning agents from their help

uuldana-cli runs the console programs on your search path with --help, once each, to find the coding agents. A program that hangs is cut off after five seconds. The first look at a big search path took between fifteen and thirty seconds on the test machine, and the answers are kept until a program changes.

What is learned is only what the help says. A permission mode whose name does not say what it allows is left out, and a program with no permission flag is assumed to ask before acting. uuldana providers shows both. A program whose help does not describe what it does can be taken for something it is not, or missed; a manifest with the same id corrects that.

An agent that offers no flag to choose the session id is resumed with its flag for “continue the latest conversation of this folder”, which is the latest one in that folder, not necessarily the one uuldana-cli started. An agent with neither flag cannot be resumed; it starts again, with the saved screen text when someone spoke to it.

Platforms

Windows 11 is where uuldana-cli is developed and tested. Linux and macOS compile, and the CI workflow is set up for them, but no Linux or macOS machine has run the tests. ARM64 and minimum supported Windows versions are not established.

Windows binaries are not code-signed.

Handoff

When you move the work with /agent, the conversation is pasted into the new agent’s input box and not sent. A new agent that does not accept pasted input within 40 seconds gets nothing, and the conversation is saved as handoff.md in the data directory. For an agent whose history cannot be read, the handoff is the last 120 lines of its screen, including interface text.

Only the visible conversation moves. Hidden reasoning, the agent’s memory, approvals, and running tool calls do not, and an agent cannot load another agent’s native session. uuldana-cli reads no agent’s own files, so the visible conversation is the text its screen showed: the last 120 lines with text, interface text included, which is not as clean as a transcript.

Permissions

Permission mapping describes what each agent’s own flags enforce, as its help lists them. It is not an operating system sandbox. No agent’s help lists a flag that blocks network access, so a ceiling with "network": "denied" skips all of them.

A session’s ceiling is fixed when it is created, so resume --bypass-permissions is refused for a stricter saved session.

Plugins and protocols

No plugin, skill, or MCP configuration is translated between providers. The protocol review found no standard quota signal in ACP, so quota detection for a structured transport needs adapter-specific evidence.

Process handling

The full five-campaign stress gate for the Windows process layer has not passed, and a terminal-interrupt test against a real agent’s interface failed once in dozens of runs. The tests that stop a real agent gracefully are sensitive to machine load: run alone they passed, and with three of them in parallel on a busy machine about half failed. Bounded engineering deadlines are not a hard real-time guarantee.

Distribution

The npm package uuldana-cli covers Windows x64 only; there are no packages for Linux or macOS, so those are built from source. The binary is not code signed, so Windows SmartScreen may warn. The security contact is the maintainer’s email address. See Release information.

Search documentation

Start typing to search all articles.

↑ ↓ navigate · Enter openEsc close