Use this guide to install the DualEntry CLI, authenticate, and run your first command in under five minutes. For the full list of resources and flags, see the Command Reference. For end-to-end task walkthroughs, see Common Workflows.Documentation Index
Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you install the CLI, confirm you meet the two requirements below.- Python 3.11+ - the CLI is written in Python and requires version 3.11 or later. Homebrew installs Python automatically; for
uvand the install script, runpython3 --versionto confirm your local version is high enough. - A DualEntry account - you’ll authenticate via browser-based OAuth during setup, so an active DualEntry login is required. Contact your administrator if you don’t yet have one.
Install the CLI
Pick the install method that fits your setup. Homebrew is the simplest path for most users because it manages the Python dependency for you.Option 1: Homebrew (recommended)
Install the CLI and its Python dependency in a single command:Option 2: uv
If you useuv for Python tooling, install directly from the GitHub repository:
Option 3: Install script
Run the official install script to download and install the CLI in one step:Enable tab completion
Tab completion makes the CLI faster to use by auto-completing resources and flags as you type. Run this once after installing:Authenticate
Log in to connect the CLI to your DualEntry account:To verify you’re authenticated, run
dualentry companies list. If you see your company data, you’re all set.dualentry-cli credentials. This is normal - the CLI uses your system keychain to store OAuth tokens securely. Enter your Mac login password and click “Always Allow” so you don’t see the prompt on every command. Clicking “Allow” works too, but you’ll be asked again next time.
Run your first command
Pull a list of invoices to confirm the CLI is connected to your account:| ID | # | Date | Company | Customer | Due Date | Currency | Amount | Paid | Due | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| 12 | INV-1 | 2026-01-15 | Acme Corp | Widget Co. | 2026-02-14 | USD | 1,500.00 | 0 | 1,500.00 | posted |
| 15 | INV-2 | 2026-02-01 | Acme Corp | Sprocket Inc. | 2026-03-03 | USD | 3,200.00 | 3,200.00 | 0 | archived |
posted, archived, etc.). This is the same data you’d see in the DualEntry web app, just in your terminal.
Quick next steps
Once you’ve run your first command, try the actions below to explore the CLI. Get JSON output, useful for piping into other tools or scripts:For CI/CD environments
In automated pipelines like GitHub Actions or Jenkins, browser-based OAuth isn’t possible. Set theX_API_KEY environment variable instead of running dualentry auth login:
Troubleshooting
The issues below cover the most common installation and authentication problems.- Command not found after install - make sure the install location is on your
PATH. For Homebrew, this is usually automatic. For other methods, check the install output for instructions. - Authentication failing - run
dualentry auth loginagain. If your browser doesn’t open, check that you have a default browser set. - Slow responses - the CLI is at
v0.1.9; performance on some operations is still being optimized. Large datasets may take a moment.
