WITAN

<a href="/exec">Docs</a> · <a href="/render">Render</a> · <a href="/calc">Calc</a> · <a href="/lint">Lint</a> · <a href="/pricing">Pricing</a> · <a href="/skills">Agent Skills</a> · <a href="/install">Install Witan</a>

---

# One binary, with zero dependencies.

## Quick install

Detects your platform and installs the binary to /usr/local/bin:

    curl -fsSL https://witanlabs.com/install.sh | sh

## Manual download

If you prefer to download directly, pick your platform:

| Platform             | Binary                  |
|----------------------|-------------------------|
| macOS, Apple Silicon | witan-darwin-arm64      |
| macOS, Intel         | witan-darwin-amd64      |
| Linux, x86_64       | witan-linux-amd64       |
| Linux, ARM64         | witan-linux-arm64       |
| Windows, x86_64     | witan-windows-amd64.zip |
| Windows, ARM64      | witan-windows-arm64.zip |

Download and install in one line (example for macOS Apple Silicon):

    curl -fsSL https://witanlabs.com/dl/witan-darwin-arm64 -o /usr/local/bin/witan &amp;&amp; chmod +x /usr/local/bin/witan

Replace witan-darwin-arm64 with the binary name for your platform.

On Windows (PowerShell):

    Invoke-WebRequest https://witanlabs.com/dl/witan-windows-amd64.zip -OutFile witan.zip
    Expand-Archive witan.zip -DestinationPath "$env:LOCALAPPDATA\witan"
    $env:Path += ";$env:LOCALAPPDATA\witan"

## PyPI

Ideal for sandboxed agent environments (Codex, Claude Code) where
Python and uv are available:

    # Zero-install one-shot
    uvx witan xlsx render report.xlsx -r "Sheet1!A1:Z50"

    # Persistent install
    pip install witan

In sandboxed environments where you can't write to /usr/local/bin,
the PyPI package is the fastest path. uvx downloads and runs the
binary in a single command with no permanent install required.

## Configuration

Our personal tier does not require an API key, but it is needed for
our cloud tier. Get your key at <a href="https://app.witanlabs.com/~/settings/api-keys">app.witanlabs.com/~/settings/api-keys</a>

    export WITAN_API_KEY="sk_..."

On Windows (PowerShell):

    $env:WITAN_API_KEY = "sk_..."

## Zero Data Retention

When WITAN_STATELESS=1 is set, files are processed in memory and
immediately discarded. Nothing is stored. This is useful for sensitive
financial data.

    export WITAN_STATELESS=1
    witan xlsx render confidential-report.xlsx -r "Sheet1!A1:Z50"

### Trade off

Each command re-uploads the file since there is no server-side
caching. This is slightly slower for repeated operations on the same
file, but guarantees zero data retention.

## Verify Installation

    witan --version
    $ witan xlsx exec report.xlsx --expr 'await xlsx.readCell(wb, "Summary!A1")'

If both commands succeed, you're ready to go. See <a href="/render">Render</a>,
<a href="/calc">Calc</a>, and <a href="/lint">Lint</a> for detailed usage of each command.

## Options

All configuration is via environment variables:

| Variable         | Description                                                              | Default                     |
|------------------|--------------------------------------------------------------------------|-----------------------------|
| WITAN_API_KEY    | API key. Required for Cloud plan.                                        | —                           |
| WITAN_API_URL    | Custom API endpoint.                                                     | https://api.witanlabs.com   |
| WITAN_STATELESS  | Set to 1 for zero data retention mode — files processed but never stored.| 0                           |

---

© Witan Labs Inc. 2026
<a href="mailto:hello@witanlabs.com">hello@witanlabs.com</a> · <a href="https://api.witanlabs.com/docs">API Docs</a> · <a href="https://github.com/witanlabs/witan-cli">GitHub</a> · <a href="https://github.com/witanlabs/research-log">Research</a> · <a href="/terms">Terms</a> · <a href="/privacy">Privacy</a>
