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

Navigation

Providers & plugins

Your tools keep
their native home.

uuldana-cli supervises agents. Each agent keeps its own tools, authentication, plugin loading, and instruction discovery.

No agent is known by name. uuldana-cli asks the console programs on your search path for their --help, once, and learns the agents from it. The four agents installed on the test machine were found that way and run through uuldana-cli on a real install. Agents that are not installed there have not been tried. Other providers can be described with a JSON manifest.

Native provider integrations

Adapters describe detection, capabilities, permission mappings, launch plans, and events. The runtime owns execution. Native PTY preserves the agent's own terminal UI, which is what every learned adapter launches.

Provider abstraction

Plugins, skills & MCP

Plugins, skills, and MCP servers keep working in the agent that owns them. Nothing is translated between agents, so a plugin for one provider does nothing in another.

Compatibility guide

How agents are found

StepWhat happens
CandidatesConsole programs on the search path, outside the operating system's own folders. On Windows, only programs whose header says console, and the program behind an npm script shim.
Ask--help once, with stdin closed and five seconds to answer. The answer is kept until the program changes.
RecognizeA way to start with a prompt, a way to resume, and permission or model options, as the help describes them.
LearnHow to start with a prompt, resume by id or continue the latest, and which flags set permissions.

Nothing in this is a name. A program whose help does not say what it does can be missed or taken wrongly; a JSON manifest with the same id corrects it. uuldana resume continues an agent's own session by id only when its help offers a flag to choose the session id; any other agent is continued with its own flag for the latest conversation of the folder, when it has one.

Limit detection is one general reader for every agent. It reads the text an agent prints at its usage limit, looking for an allowance that is gone together with when it returns or what to do about it, and it never moves the work on a warning that an allowance is only partly used. It has been tried on real messages from two agents as test inputs, and on example sentences for the rest.

An explicit compatibility model

IntegrationBehaviorCurrent state
Native agentLaunches the real binary with native behavior intact.Learned from the agent's own help; the four installed on the test machine were tried on a real install.
Provider-specific pluginUses its owning agent's loader and APIs.Works in its own agent; never migrated to another.
Shared compatible plugin or skillUsed only where the receiving agent supports the format and behavior.Not translated. Install it in each agent you list.
MCP integrationPreserves native MCP discovery by running the agent's terminal UI.Configured per agent; not copied between agents.
Another providerDescribe it with a JSON manifest, or write a compiled adapter.Manifests are loaded from the adapters directory next to config.json.

Accounts belong to their agents.

Configure multiple agents and accounts with their own priorities in config.json. The same provider can appear several times, each entry with its own environment, for example a different CLAUDE_CONFIG_DIR. uuldana-cli never reads or copies the credentials behind an account.

A provider that needs a login still asks you for it, inside the session. Credentials and approvals are not copied between agents.

Account configuration and continuity

Search documentation

Start typing to search all articles.

↑ ↓ navigate · Enter openEsc close