CLI

Use the Chadwin CLI to install local market data where your agent works, then fetch exact source documents when you need deeper evidence.

Quick start

Install the CLI, sign in through the browser, sync the local data pack, then verify the setup:

curl -fsSL https://www.chadwin.co/install.sh | sh
chadwin auth login
chadwin sync
chadwin verify

That is the normal path. After sync, your agent can work against local files without making API calls for every market-wide screen.

The rest of this page expands that same flow in order, starting withuv, the tool Chadwin uses to install and update the CLI.

Install uv

The Chadwin installer uses uv to install the CLI as an isolated Python command. That keeps the CLI separate from your system Python, avoids a repo-local virtual environment, and gives Chadwin a consistent way to update itself later with chadwin update.

Check whether uv is already available:

uv --version

If that command fails, install uvfirst. On macOS and Linux, use Astral's installer:

curl -LsSf https://astral.sh/uv/install.sh | sh

Homebrew users can install it this way:

brew install uv

For Windows and other installation methods, use the official uv installation docs. After installing uv, open a new terminal or reload your shell so the uv executable is on your PATH.

Install

Run the hosted installer from the environment where your agent runs:

curl -fsSL https://www.chadwin.co/install.sh | sh

The installer downloads the current release manifest, verifies the CLI wheel checksum, then runs uv tool install --force for that verified wheel. If the installer reports that uv is missing, install uv first and rerun the Chadwin installer.

Sign in

Start browser login from the CLI:

chadwin auth login

The command opens an activation URL when possible. Approve the login in the browser and the CLI stores a local credential for this machine or workspace. CLI sessions are separate from manually created REST API keys, so rotating one CLI install does not revoke other machines.

To check whether the CLI is signed in, run:

chadwin auth status

Sync data

After sign-in, sync the default data root:

chadwin sync

Sync fetches the current data pack, validates it, and only then promotes it into place. A successful sync prints the data root so you know where the files landed.

Fetch from the API

The local data pack is for broad search and screening. When an agent needs the full source filing for a specific accession, fetch it through the API:

chadwin api get /v1/sec/insider-filings/<accession>

Cache API documents

Add --cache when the response should be stored next to the local data root for later agent use:

chadwin api get /v1/sec/insider-filings/<accession> --cache

--cache stores supported API responses under the data root. Without --cache, the response is printed to stdout and no document file is written.

Update the CLI

Check for a newer hosted release, then update when needed:

chadwin update --check
chadwin update

Updating reinstalls the CLI command. It does not delete auth state or synced data because those live outside the installed package.

Local files

By default, synced data uses the platform application-data location:

  • macOS: ~/Library/Application Support/Chadwin/data
  • Linux: ${XDG_DATA_HOME:-~/.local/share}/chadwin/data
  • Windows: %LOCALAPPDATA%\Chadwin\data

The data root uses this structure:

datasets/
  fundamentals/
documents/
  sec/
    filings/
      default/
        v1/
          <accession>.json
          <accession>.metadata.json

datasets/fundamentals is the synced data pack. documents stores cached API documents outside that dataset. Supported SEC filing documents currently cache under documents/sec/filings/default/v1.

CLI_HOME is only for auth and lock state. Set it when a cloud sandbox or test run needs that state in a specific mounted directory:

export CLI_HOME=/workspace/chadwin-cli-state
chadwin auth login
chadwin sync --destination /workspace/chadwin-data

Choose a data root

Use --destination when you want the data in a specific directory, such as a project workspace, mounted volume, cloud server, or disposable test path:

chadwin sync --destination /workspace/chadwin-data

This is useful when your agent runs in a cloud sandbox, on a mounted volume, or inside a project workspace where you want the data to move with the work. It also keeps test runs from writing into your normal desktop data location.

Pass the same destination to commands that should read or write that data root:

chadwin verify --destination /workspace/chadwin-data

Useful checks

Use verify when something feels off or when you want a quick health check without syncing:

chadwin verify --destination /workspace/chadwin-data

The check is intentionally fast. It verifies the local checkout shape, manifest, payload hashes, auth state, and API reachability without replaying the data-pack row schemas or layout contract.

For scripts and agent harnesses, most commands support --json for machine-readable output.