Installation
”command not found: deepline”
Your shell cannot find thedeepline binary. This usually means the install directory is not on your PATH.
Most common cause: You installed Deepline but did not reload your shell configuration.
which deepline returns nothing, reinstall the npm package and reconnect:
source ~/.zshrc again.
On macOS with Homebrew: If you installed via a non-standard method, check that /usr/local/bin or ~/.local/bin is in your PATH:
npm install hangs or fails
Most common cause: Corporate firewalls, VPNs, or proxy servers blocking npm downloads.deepline is still not found after install, restart your terminal and make sure npm’s global bin directory is on your PATH.
Authentication
”Missing DEEPLINE_API_KEY. Run: deepline auth register”
The CLI requires an API key for every authenticated command. This error means no key was found in your environment.Status: active and your workspace name.
If the browser flow does not complete: Some email security tools (Mimecast, Barracuda, etc.) intercept magic links and consume them before you can click. If you see Status: not connected after clicking the link:
”Status: unauthorized” after authenticating
The CLI returned a401 or 403 when checking your credentials.
- Your API key expired or was rotated by an org admin.
- You were removed from the workspace. Ask your org admin to re-invite you.
- You are authenticated to the wrong workspace. Run
deepline auth statusand check theWorkspacefield.
Auth status returns “Auth status error (status …)”
A server-side issue prevented the auth check. Retry after a few seconds:Enrichment
”No results” for contacts I know exist
Most common cause: A single provider does not have coverage for your target contacts. Use waterfall enrichment across multiple providers instead.Enrichment runs but emails bounce
Most common cause: Enriched emails were not validated before sending. Add a validation step after enrichment:Credits consumed but no data returned
Most common cause: The provider found no match for your input, but credits are still consumed for the API call. This is standard behavior for most data providers (Apollo, PDL, etc.). To avoid wasting credits on large lists, always run a pilot first:- Your input columns are correctly mapped (column names are case-sensitive).
- The provider supports your target geography/industry.
- The provider’s API status is operational.
”Invalid JSON payload in —with spec”
The--with flag expects a valid JSON object. This error comes from malformed JSON.
Most common cause: Quote escaping issues in bash. The CLI will show the exact parse error and a hint:
- Use single quotes to wrap the entire JSON, and double quotes inside:
- For complex specs with regex or special characters, save to a file and reference it:
- Allowed keys in a
--withspec are:alias,tool,payload,extract_js,run_if_js. Any other key will produce:
“Invalid —with spec: alias is required” / “tool is required”
Every--with spec must include both an alias (a name for this enrichment step) and a tool (the provider to call):
“Unknown tool <tool_id>”
The tool ID you specified does not exist. Check available tools:
Apollo_People_Match (wrong) vs apollo_people_match (correct).
Rate limit errors during enrichment
When a provider rate-limits your requests, the CLI automatically retries with backoff. You will see messages indicating the rate limit rule and retry delay. If you consistently hit rate limits:- Process smaller batches (fewer rows per run).
- If using BYOK, check your provider account’s rate limit tier.
- Contact support if you need higher throughput (current default is ~5 req/sec; power users like agencies may need 25-30 req/sec).
BYOK (Bring Your Own Keys)
How do I add my own API keys?
BYOK lets you use your own provider API keys for provider-side usage while Deepline manages the workflow. BYOK keys are managed in the dashboard, not the CLI:Provider returns 401/403 with my own key
Most common cause: The key does not have the required permissions or your provider account tier does not include API access. Check these in order:- Key is valid: Test the key directly against the provider’s API (e.g.,
curlto Apollo’s endpoint with your key). - API access enabled: Some provider plans (especially free tiers) do not include API access. Check your provider dashboard.
- Rate limits: Your key may have a lower rate limit than Deepline’s default throughput. The CLI surfaces the rate limit error with provider and rule details.
- Key format: Ensure there are no trailing spaces or newlines. Re-set the key in the dashboard at
https://code.deepline.com/dashboard/keys. See Bring Your Own Keys.
Claude Code / Skills
/deepline-gtm or Deepline skill not recognized in Claude Code
Most common cause: The Deepline skill is not installed or was renamed.Claude Code writes incorrect Deepline commands
Most common cause: The SKILL.md file is out of date or not being read by your agent.- Update to the latest version:
- Verify the skill file is current:
- Start a new Claude Code session so it picks up the updated skill file.
--with syntax that the CLI does not accept). Always test commands from the quickstart docs, not comparison pages.
Database
”Where are my enrichment results?”
Deepline stores enrichment results in a managed Neon Postgres database. After an enrichment run completes, your data is available via SQL.“Missing —sql SQL”
Thedeepline db query command requires a --sql flag with your SQL statement:
Cannot connect to the database
Most common cause: Incorrect connection string format or network restrictions.- Verify your connection string starts with
postgresql://(notpostgres://, which some clients do not accept). - Check your network: Neon Postgres requires outbound connections on port
5432. Corporate firewalls may block this. - IP allowlisting: If your organization has IP restrictions configured, ensure your current IP is allowlisted.
- Auth errors (401/403): Your database credentials may have expired. Re-authenticate:
Sequencers (Instantly, Lemlist)
Push to Instantly or Lemlist fails
Most common cause: Missing or incorrect API key for the sequencer.- API key permissions: Ensure your key has write access to campaigns. Read-only keys will return 403.
- Campaign ID: Verify the campaign ID exists and is active in your sequencer dashboard. A deleted or paused campaign will reject pushes.
- Payload format: Each sequencer expects specific contact fields. Ensure your enrichment output includes at minimum
emailandfirst_name.
General Errors
”Auth error while listing tools. Check DEEPLINE_API_KEY.”
The CLI tried to fetch available integrations but your API key was rejected (401/403).Network errors / timeouts
If commands fail with network-related errors:- Check your internet connection.
- Check for VPN/proxy issues:
- Check service status: Visit status.deepline.com.
Playground backend fails to start
If you seeUnable to ensure playground backend is running (exit_code=...):
- Check that no other process is using the playground port.
- Try stopping and restarting:
- Enable debug logging for more details:
Still stuck?
Office Hours
Join our weekly office hours (Thursdays) for live help. Bring your screen,
we will debug together.
Email Support
Email team@deepline.com with your CLI version (
deepline --version),
the full error output, and what you were trying to do.