Install the Tedix CLI
Availability: The standalone CLI is a public beta. It can be installed without source access, but organization operations still require membership in an existing or invited Tedix organization. The OSS product source and stable self-hosted releases remain private. See Release status.
The Tedix CLI is a small program installed on your machine. It covers Home
conversations, Code Mode, Work Items, skills, automations, flows, engine
observation, and tedi operations. The standalone
binary includes Bun and its runtime dependencies. You do not need access to the
Tedix source repository or a local Bun installation for gateway operations.
The optional tedix setup and tedix dev local-product commands instead need
Bun and Node.js 22+ for Wrangler. Run tedix setup from any directory to use
an existing checkout or acquire the matching source release (GitHub access is
required while the repository is private). tedix setup --yes selects offline
mode; tedix dev resumes the saved installation from anywhere. Local startup
does not require Tedix login. See Getting started
for offline and own-account Workers AI evaluation, and Skills, automations, flows,
and runs for the execution model.
Install
macOS and Linux users can install the latest public release with:
curl -fsSL https://downloads.tedix.dev/install.sh | shThe installer detects the operating system and architecture, downloads the
matching immutable release, verifies it against SHA256SUMS, and installs
tedix into ~/.local/bin by default. Downloads retry bounded transient
failures, checksum tools run with a neutral locale, and the installer checks
that the destination is writable before downloading the binary.
~/.local/bin is not on the default macOS PATH, so a new shell cannot find
tedix until that directory is added. The installer detects this, appends the
directory to your shell profile (~/.zshrc, ~/.bash_profile, or
~/.config/fish/config.fish), and prints exactly what it changed. Open a new
terminal afterwards, or run the export line it prints to use tedix in the
current one.
Set TEDIX_NO_MODIFY_PATH=1 to keep the installer out of your shell profile. It
then only prints the line to add yourself:
export PATH="$HOME/.local/bin:$PATH"Verify the installation in a new terminal:
command -v tedix
tedix --version
tedix auth statusTo install into a directory that is already on PATH:
curl -fsSL https://downloads.tedix.dev/install.sh |
TEDIX_INSTALL_DIR=/usr/local/bin shSupported platforms
| Platform | Architecture | Public artifact | Installer support |
|---|---|---|---|
| macOS | Apple silicon (arm64) |
yes | yes |
| macOS | Intel (x64) |
yes | yes |
| Linux glibc | arm64 |
yes | yes |
| Linux glibc | x64 |
yes | yes |
| Windows | x64 |
experimental | manual download |
The beta artifacts are checksum-verified but not yet code-signed or notarized. Windows remains experimental. Homebrew, Alpine/musl, and baseline pre-AVX2 x64 installations are not currently supported.
Install an exact version
Pinning a version from latest.json or a release manifest makes installs and
rollbacks reproducible:
curl -fsSL https://downloads.tedix.dev/install.sh |
TEDIX_CLI_VERSION="VERSION_FROM_MANIFEST" shThe CLI does not silently update itself. For an installer-managed binary, use the explicit lifecycle commands:
tedix update --check
tedix update
tedix update "VERSION_FROM_MANIFEST" --force
tedix rollbackChecks never change the installation. tedix update --check <version> verifies
that an exact release and its platform artifact are published, then compares it
with the current version. Updates fetch fresh bounded metadata, stream the
artifact with a strict size limit, verify its size and SHA-256 hash, smoke-test
it, and atomically replace the active macOS/Linux standalone executable under
an exclusive install lock. One verified previous binary is retained for
tedix rollback.
Source-checkout invocations may check releases but refuse update and rollback
mutations, so running bun packages/cli/src/index.ts update cannot overwrite an
unrelated standalone installation. Use the installer for the initial install;
use tedix update <version> --force for an intentional exact downgrade.
Verify a release
Release metadata is public:
https://downloads.tedix.dev/latest.json
https://downloads.tedix.dev/releases/<version>/manifest.json
https://downloads.tedix.dev/releases/<version>/SHA256SUMSmanifest.json records the exact source commit, version, artifact names, sizes,
SHA-256 hashes, and immutable download URLs. latest.json is the only mutable
release pointer and is updated after the immutable version files are uploaded.
The release workflow also creates GitHub build-provenance attestations for the
standalone binaries. These attest build provenance; they do not replace Apple
notarization, Authenticode, or the public SHA-256 verification path.
Sign in
Run the login command. The authenticated Tedix OS launcher opens in your browser and asks which organization this terminal should use:
tedix login
tedix -w ORG_SLUG ask "Confirm Home is reachable."After selection, the browser returns only the organization slug through a
one-time local callback. The CLI resolves the organization’s public MCP
gateway and opens OAuth against that resource. It does not require a
platform-wide operator login or a platform-administrator role. In automation
or another non-interactive environment, pass the known slug directly:
tedix login ORG_SLUG.
OAuth credentials are stored per workspace under ~/.tedix. The binary never
contains a Tedix account credential.
Find a command
Start with the short command overview:
tedix --helpThen ask for only the command you need:
tedix code --help
tedix work --helpFor a complete command index, use tedix help --map. The longer reference is
still available with tedix help --all. Scripts and coding agents can read the
same help without parsing terminal text:
tedix help --json
tedix help --json code
tedix help exit-codesUse the exit-code reference when a script needs to distinguish a usage or connection error from declined work or an operation that is still settling.
Help describes the CLI itself. The tools available inside your organization can change, so discover those live through Code Mode instead:
tedix code 'async () => await discover.search({ query: "calendar", limit: 3 })'Uninstall
Tedix CLI is a standalone file. Removing it does not delete your Tedix organization, cloud conversations, or locally saved sign-ins.
Remove the command
If you used the default installer location, remove only the Tedix binary:
rm -f ~/.local/bin/tedix
hash -rIf you set TEDIX_INSTALL_DIR when installing, replace ~/.local/bin with
that directory. Do not delete ~/.local/bin itself or remove it from your
PATH: other tools may use it too.
The updater may retain one rollback binary. If you installed to the default location and do not need to roll back, you can remove it too:
rm -f ~/.local/bin/tedix.previousRemove local sign-ins and history (optional)
By default, uninstalling leaves your saved workspace logins, conversation
metadata, command history, and update cache in ~/.tedix. This makes a later
reinstall convenient.
To remove saved local OAuth credentials but keep the other local data, sign out first:
tedix logout --allTo erase all Tedix CLI data from this computer after signing out, remove its configuration directory:
rm -rf ~/.tedixThis is permanent local cleanup. It does not delete cloud conversations, runs, or organization data. To install the CLI again later, follow Install.
Troubleshooting
tedix: command not found: open a new terminal first, because the installer’sPATHchange only applies to shells started after it. If it persists, add the install directory yourself withexport PATH="$HOME/.local/bin:$PATH".install directory is not writable: if the default~/.local/binwas previously created withsudo, run the exact ownership command printed by the installer. Otherwise, pass a writable directory toshwithTEDIX_INSTALL_DIR.- A checkout alias or function shadows the installed CLI: run
type -a tedix, remove the shadowingtedixdefinition, and give checkout execution a distinct name such astedix-dev. - Checksum failure: stop. Do not execute the downloaded file; retry later or install an exact known version.
- Unsupported platform: use a supported macOS/Linux artifact or run the CLI from a source checkout with Bun.
- Login failure: confirm the organization slug with your administrator, then
run
tedix login ORG_SLUGagain.tedix auth statusshows whether a saved workspace is already selected without printing its credential.