Skip to content

Authentication and Profiles

KoukeNeko edited this page Sep 9, 2026 · 4 revisions

Authentication and Profiles

English · 繁體中文

Interactive login

Prompts for a username and a password that is not echoed, then stores the token in the operating system keyring:

taiga auth login \
  --host https://taiga.example.com/taiga/ \
  --profile company

--host points at the Taiga frontend. The CLI reads its conf.json to discover the real API base URL, so sites deployed under a subpath such as /taiga/ are found automatically. If you already know the API URL, pass --api-url instead; the two flags are mutually exclusive.

Interactive login requires a TTY. In CI or any non-interactive environment, use token login.

Logging in with an existing token

printf '%s\n' "$TOKEN" |
  taiga auth login \
    --api-url https://taiga.example.com/taiga/api/v1/ \
    --profile company \
    --with-token

The CLI calls users/me with the token to validate it before writing it to the keyring. SSO and LDAP sites have no generic interactive login flow, but as long as the site permits it you can import an existing token this way.

Status and logout

taiga auth status
taiga auth status --json
taiga auth logout

logout removes only the keyring entry for the current profile. The API URL and default project in the config file are left alone.

Token resolution order

  1. The TAIGA_TOKEN environment variable
  2. The keyring entry for profile|api_url

The keyring key includes both the profile and the API URL, so pointing one profile at a different site never reuses the old token. Tokens are never written to the config file.

Profiles

The config file lives in the operating system's user config directory:

current_profile = "company"

[profiles.company]
api_url = "https://taiga.example.com/taiga/api/v1/"
project = "example-project"
taiga config list
taiga config list --json
taiga config set profile company
taiga config set api-url https://taiga.example.com/taiga/api/v1/
taiga config set project example-project

Profile names accept letters, digits, and -, _, . only.

Setting resolution order

command flag
→ TAIGA_PROFILE / TAIGA_API_URL / TAIGA_PROJECT / TAIGA_TOKEN
→ Git-local taiga.profile / taiga.project
→ current profile
→ safe defaults

Pinning to one Git repository

Scope a profile and project to the current repository:

taiga project use example-project --local
taiga config set project example-project --local
taiga config list --local

These values are written to taiga.profile and taiga.project in .git/config. They are local repository settings, so they are never committed and never affect other directories. Outside a Git repository, --local fails with a clear error rather than silently doing nothing.

Clone this wiki locally