Skip to main content

Locate and read local code-agent thread files

Project description

xURL

xURL is a CLI that reads, queries, and writes AI agent conversations through a unified agents:// URI scheme.

Also known as Xuanwo's URL.

What xURL Can Do

xURL gives you one URI scheme (agents://) to read, query, discover, and write conversations across multiple AI agent CLIs.

  • Read a conversation as markdown — xurl agents://codex/<id>
  • Query threads by provider, keyword, local path, or role — xurl 'agents://codex?q=refactor'
  • Discover child targets and metadata before drilling down — xurl -I agents://codex/<id>
  • Write to start or continue a conversation — xurl agents://codex -d "hello"

Providers

Amp
agents://amp
Claude
agents://claude
Codex
agents://codex
GitHub Copilot
agents://copilot
Cursor
agents://cursor
Gemini
agents://gemini
Kimi
agents://kimi
OpenCode
agents://opencode
Pi
agents://pi

Installation

Install as an agent skill:

npx skills add Xuanwo/xurl

Or install the standalone CLI:

brew tap xuanwo/tap && brew install xurl   # Homebrew
cargo install xurl-cli                      # Cargo
uv tool install xuanwo-xurl                 # Python / uv
npm install -g @xuanwo/xurl                 # npm

Quick Start

Ask your agent to summarize a thread:

Please summarize this thread: agents://codex/xxx_thread

Usage

Note: The agents:// scheme prefix is optional — codex/... is equivalent to agents://codex/....

Read

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl agents://copilot/688628a1-407a-4b4e-b24a-1a250ebf864f

Save output to a file:

xurl -o /tmp/conversation.md agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592

Query

By provider:

xurl agents://codex
xurl 'agents://codex?q=spawn_agent'
xurl 'agents://claude?q=agent&limit=5'
xurl 'agents://copilot?q=resume&limit=5'

By local path:

xurl agents:///Users/alice/work/xurl
xurl 'agents:///Users/alice/work/xurl?q=refactor&limit=5'
xurl 'agents://.?q=refactor&providers=codex,claude'
xurl 'agents://~/work/xurl?providers=opencode'

By role:

xurl agents://codex/reviewer

Query results include reduced thread metadata when available, so you can inspect fields like payload.git.branch without opening each thread individually.

Discover

xurl -I agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592

Frontmatter includes provider metadata flattened into readable key-value lines (e.g. payload.git.branch = ...), and skips oversized instruction-like fields.

Drill down into a discovered child target:

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592/019c87fb-38b9-7843-92b1-832f02598495

Write

Start a new conversation:

xurl agents://codex -d "Draft a migration plan"

Start with a role URI:

xurl agents://codex/reviewer -d "Review this patch"
xurl agents://copilot/research -d "Investigate the failing integration test"

Continue an existing conversation:

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592 -d "Continue"

Pass extra parameters to the provider CLI via query string:

xurl "agents://codex?cd=%2FUsers%2Falice%2Frepo&add-dir=%2FUsers%2Falice%2Fshared&model=gpt-5" -d "Review this patch"

Command Reference

xurl [OPTIONS] <URI>
  • -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 @-
  • -o, --output <PATH>: write command output to file.

Error Output

xurl writes actionable stderr errors for agents:

  • unsupported providers and unsupported capabilities include requested_uri, suggested next_steps, and the GitHub issue link for requesting support
  • missing local data includes evidence such as searched_roots so the next recovery step is explicit
  • provider CLI failures include the command, exit code, and concrete retry guidance

URI Reference

Agents URI

[agents://]<provider>[/<token>[/<child_id>]][?<query>]
|------|  |--------|  |---------------------------|  |------|
 optional   provider         optional path parts        query
 scheme
  • scheme: optional agents:// prefix. If omitted, xurl treats input as an agents URI shorthand.
  • provider: target provider name, such as amp, claude, codex, copilot, cursor, gemini, kimi, opencode, pi.
  • 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 (default 10). 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), xurl forwards as --<key> <value> to the provider CLI.
  • <flag>: in write mode (-d), xurl forwards 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/<conversation_id>
agents://codex/reviewer
agents://codex?cd=%2FUsers%2Falice%2Frepo&add-dir=%2FUsers%2Falice%2Fshared

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xuanwo_xurl-0.0.27-py3-none-win_arm64.whl (2.4 MB view details)

Uploaded Python 3Windows ARM64

xuanwo_xurl-0.0.27-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

xuanwo_xurl-0.0.27-py3-none-manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded Python 3

xuanwo_xurl-0.0.27-py3-none-macosx_11_0_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

xuanwo_xurl-0.0.27-py3-none-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-win_arm64.whl.

File metadata

  • Download URL: xuanwo_xurl-0.0.27-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 4f7f2fb4f436ef83bb9517f1447b2ad7f1c3e4c23a129d18a697051ae16c5369
MD5 4873708f41bf59721f43faf5472752ed
BLAKE2b-256 96d546d7e5d3c7228728d487f8c802beae9d92f281b173ad32c505e1b201842c

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-win_arm64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-win_amd64.whl.

File metadata

  • Download URL: xuanwo_xurl-0.0.27-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9bb5dc2afcd26b284270ae8474516bc9cdddec3e2cfbf7ec613d644eafe304ea
MD5 5ca89663685a3ba5ea7f78599ec2fc59
BLAKE2b-256 eed57503a6fb4d471f8ef7661d7e3bba8e5c96337bc181df1fdc7bb5588940a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-win_amd64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b17133be0949110637da00326dc66aa2d4955421cd61be0bcf7687e651da1ea4
MD5 6d210aed02f1af75bdcfa81897eef29e
BLAKE2b-256 e5c3da342e4a547fbb5c6e4176c15d6e3f8a208d86e69bb4c933d77756c3f5ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-manylinux2014_x86_64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b93678c5fe1f82fc86f830275d1cc9f8ad3ba76c30849ba6f5cb9b27d0bfffb9
MD5 202e0b1e108969aa4fafa9734de24231
BLAKE2b-256 6c5df19cd87434b05f9f2c9804cdbb32e16a7b48d0da5afb59a07a3fd57e87b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-manylinux2014_aarch64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7ddf21d83c3b9fa4a1854700091e938f4221361bb9e4d7dd0fc9496ee9eced77
MD5 91579449fb681a2ca0fcf93a912374b6
BLAKE2b-256 d34bc4bcb9a4d16c9b877a75ccf87c60fe704cfd060ef84f47bb3fdc29aafbaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-macosx_11_0_x86_64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xuanwo_xurl-0.0.27-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.27-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36d9e931edd596062abc6cd0cb3e3bd3aec1f3d58cfb20e79264da19d56d5028
MD5 c1a8ab4bf51a62f4bf51db635e2ebc03
BLAKE2b-256 9374b46fd8073806b836f5a3da535808d4233ffca70df9e0a35705aba537d53b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.27-py3-none-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page