For the complete documentation index optimized for AI agents, see llms.txt.This guide helps you resolve common issues with the Helix CLI v2.
Installation issues
command not found: helix
The CLI installs to ~/.helix/bin/helix. If your shell can’t find it after running the installer:
ls -la ~/.helix/bin/helix.
Updating the CLI
Update check fails or hangs on a restricted network
On its first run, the CLI checkshttps://api.github.com (once, then cached for 24h) for a newer release. This never fails a command — network errors are ignored — but in sandboxes, CI, or rate-limited/offline environments the check can add a few seconds of latency. Skip it entirely with:
Unrecognized commands
helix compile / helix check
These commands do not exist in HelixDB v2. There is no client-side compile or validation step — queries are validated server-side when you send them to a running instance. Author a JSON dynamic query and run it:
helix query for the request shape.
helix deploy
Use helix push <instance> to deploy an Enterprise Cloud instance.
--path reported as an unexpected argument
--path is only valid on helix init (it sets the project directory). Other commands locate the project by walking up from the current directory to find helix.toml; cd into the project instead.
Project configuration issues
Not in a Helix project directory
helix init to scaffold a new project, or cd into a directory that contains helix.toml.
helix.toml validation errors
| Error | Cause | Fix |
|---|---|---|
project name is empty in <path> | [project] name is blank. | Set a non-empty name. |
<path> has no instances configured | No [local.*] or [enterprise.*] blocks. | Run helix add local or helix add cloud. |
instance name is empty in <path> | Empty key like [local.""]. | Give the instance a name. |
cluster_id is empty for '<name>' in <path> | Missing required Helix Cloud field. | Set cluster_id under [enterprise.<name>]. |
Failed to parse helix.toml: invalid type | Numbers quoted as strings. | Use bare numbers — port = 6969, not port = "6969". |
Instance '<name>' not found
The instance is not listed in helix.toml. Check with helix status and add it with helix add.
Docker / Podman issues
Docker daemon not running
helix start attempts to start it for you, but surfaces this error when it can’t.
- macOS:
open -a Docker, orcolima start/podman machine start. - Linux:
sudo systemctl start docker. - Headless / sandbox (no init system): start the daemon directly, e.g.
sudo dockerd > /tmp/dockerd.log 2>&1 &, then verify withdocker info. Many sandboxes ship the Docker binary but do not startdockerdfor you. - Podman: ensure
podmanis onPATHand set[project] container_runtime = "podman"inhelix.toml. Rootless Podman needsnewuidmap/subuid/subgidset up and frequently fails in restricted or rootless containers (namespace/mount errors) — install Docker or use a privileged container there instead.
Permission denied on Docker socket
Port already in use
[local.<instance>] port in helix.toml permanently.
Container name conflict
The CLI names containershelix-<project>-<instance>. If a stale container exists, remove it:
helix start removes prior containers with the same name automatically, but a foreign container outside the CLI’s control may need manual cleanup.
Local runtime did not become ready in time
enterprise-dev container started but did not accept POST /v1/query within ~30 seconds. Tail the container with helix logs <instance> --follow to investigate.
Authentication issues
Authentication required
helix auth login. Credentials are stored in ~/.helix/credentials.
Stale credentials
Helix Cloud query issues
gateway_url is not configured
helix sync <instance> to fetch the latest metadata. If helix sync reports gateway_url is still missing, the cluster’s gateway hasn’t been published yet — set gateway_url manually under [enterprise.<instance>] once you know it.
Environment variable HELIX_API_KEY is required
The auth env var named by query_auth_env is unset.
--warm is only valid for read requests
helix query --warm is rejected for write requests. Remove --warm or change request_type to "read".
request_type must be lowercase 'read' or 'write'
request_type must be either "read" or "write". Capitalized or alternative values are rejected.
dynamic query request must include query
The JSON file is missing the top-level query object. See helix query for the request shape.
Logs issues
--range, --start, and --end are only supported for Enterprise logs
Range queries are Helix Cloud-only. For local instances, use helix logs <instance> --follow to tail the container.
live Enterprise logs are not supported yet
helix logs --follow on a Helix Cloud instance is rejected. Use --range --start <rfc3339> --end <rfc3339> instead.
Destructive command issues
Refusing to delete '<instance>' non-interactively
Refusing to prune all instances non-interactively
helix prune only removes Helix-owned containers, networks, disk-mode volumes, and per-instance workspace directories — it never runs a broad docker/podman system prune.
Interactive vs scripted use
The CLI usescliclack prompts when stdin is a TTY and a required choice is missing — for example, helix init with no subcommand, or helix start when multiple local instances exist and no instance is passed.
In non-interactive contexts (CI, pipes, scripts):
- Pass subcommands and required flags explicitly.
- Use
--yesforhelix deleteandhelix prune --all. - The CLI fails clearly when a required choice cannot be resolved — it never silently picks a default.
Quick checks before reporting an issue
Run these first
Run these first
- Update the CLI:
helix update - Check instances and runtime state:
helix status - Tail container logs:
helix logs <instance> --follow - Restart Docker / Podman
- Clean up Helix-owned resources:
helix prune - Check disk space:
df -h - Confirm
helix.tomlparses: re-run the failing command — config errors print the offending path
Getting help
- Documentation: docs.helix-db.com
- GitHub issues: github.com/HelixDB/helix-db/issues
- Discord: discord.gg/2stgMPr5BD
- Email: founders@helix-db.com
helix --version- Operating system + container runtime version
- The exact command and full error output
- A scrubbed
helix.toml(remove cluster IDs, gateway URLs, auth env names if sensitive)