xURL
xURL is a client for AI agent URLs.
Also known as Xuanwo's URL.
What xURL Can Do
- Read an agent conversation as markdown.
- Query recent threads and keyword matches for a provider.
- Query conversations by local path across providers.
- Query role-scoped threads with
agents://<provider>/<role>. - Discover subagent/branch navigation targets.
- Start a new conversation with agents.
- Continue an existing conversation with follow-up prompts.
Quick Start
- Add
xurlas an agent skill:
- Start your agent and ask the agent to summarize a thread:
Please summarize this thread: agents://codex/xxx_thread
Providers
| Provider | Query | Create | Role Create |
|---|---|---|---|
| Amp | Yes | Yes | No |
| Codex | Yes | Yes | Yes |
| Claude | Yes | Yes | Yes |
| Gemini | Yes | Yes | No |
| Pi | Yes | Yes | No |
| OpenCode | Yes | Yes | Yes |
Usage
Read an agent conversation:
# equivalent shorthand:
Query provider threads:
# equivalent shorthand:
Query conversations by path:
Query role-scoped threads:
# equivalent shorthand:
Query results include the same reduced thread metadata used by --head when it is available, so you can inspect fields like payload.git.branch without opening each thread individually.
Discover child targets:
Frontmatter includes the first provider metadata record flattened into readable key-value lines such as payload.git.branch = ..., and skips oversized instruction-like fields.
Drill down into a discovered child target:
Start a new agent conversation:
# equivalent shorthand:
Start a new conversation with role URI:
Continue an existing conversation:
Create with query parameters:
Save output:
Command Reference
-I, --head: output frontmatter/discovery info only, including the first provider metadata record flattened into key-value lines when available.-d, --data <DATA>: write payload (repeatable).- text:
-d "hello" - file:
-d @prompt.txt - stdin:
-d @-
- text:
-o, --output <PATH>: write command output to file.
URI Reference
Agents URI
[agents://]<provider>[/<token>[/<child_id>]][?<query>]
|------| |--------| |---------------------------| |------|
optional provider optional path parts query
scheme
scheme: optionalagents://prefix. If omitted,xurltreats input as anagentsURI shorthand.provider: target provider name, such ascodex,claude,gemini,amp,pi,opencode.token: main conversation identifier or role name.child_id: child/subagent identifier under a main conversation.query: optional key-value parameters, interpreted by context.
Path-Scoped Query URI
agents:///abs/path[?<query>]
agents://.[?<query>]
agents://./subdir[?<query>]
agents://..[?<query>]
agents://../repo[?<query>]
agents://~[?<query>]
agents://~/repo[?<query>]
agents:///abs/path: canonical local path query form.agents://./agents://./subdir: query relative to the current working directory.agents://../agents://../repo: query relative to the parent of the current working directory.agents://~/agents://~/repo: query relative to the home directory.- path-scoped query always returns a conversation list.
Agents Query
q=<keyword>: filters discovery results by keyword. Use when you want to find conversations by topic.limit=<n>: limits discovery result count (default10). Use when you need a shorter or longer result list.providers=<name[,name...]>: restricts a path-scoped query to selected providers.<key>=<value>: in write mode (-d),xurlforwards as--<key> <value>to the provider CLI.<flag>: in write mode (-d),xurlforwards as--<flag>to the provider CLI.
Examples:
agents://codex?q=spawn_agent&limit=10
agents:///Users/alice/work/xurl?q=refactor&providers=codex,claude
agents://.?q=refactor&providers=codex
agents://codex/threads/<conversation_id>
agents://codex/reviewer
agents://codex?cd=%2FUsers%2Falice%2Frepo&add-dir=%2FUsers%2Falice%2Fshared