> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI installation and sign-in

> Prerequisites, five-step installation, browser sign-in, verification, updates, and SSH callbacks

<span id="cli-install" />

## CLI installation, sign-in, and verification

The CLI supports macOS, Windows, and Linux with **Node.js 22+**. Install in the machine and user environment where your agent executes commands. Terminal users can follow the manual steps.

### Ask your agent to install EvoLink

Paste this entire prompt into the agent’s **chat box**. It matches the website prompt. Complete browser sign-in and permission approvals yourself.

```text theme={null}
Set up EvoLink so I can generate images, video and audio directly here.
1. Install the CLI: run `npm install -g @evolinkai/cli`.
2. Sign in: run `evolink auth login`.
3. Install the companion skill: run `evolink skills install`.
4. Verify the connection. Once successful, tell me I can get started.
```

If the agent cannot run terminal commands, follow the manual steps below. Run `bash` blocks in a **terminal**, one step at a time. You do not need to complete both installation methods.

### Manual installation: five steps

<Steps>
  <Step title="Check Node.js and the execution environment">
    Open a terminal on the machine and under the user that runs the agent. Use Terminal on macOS, PowerShell or Command Prompt on Windows, or Cursor’s integrated terminal.

    ```bash theme={null}
    node --version
    npm --version
    ```

    **Success:** both commands show versions, with Node.js 22 or newer. If missing or outdated, install a suitable version from [Node.js](https://nodejs.org/en/download), reopen the terminal, and check again. WSL, SSH hosts, containers, and your desktop are separate environments; install where the agent executes commands.
  </Step>

  <Step title="Install and check the CLI">
    ```bash theme={null}
    npm install -g @evolinkai/cli
    evolink --version
    ```

    **Success:** installation finishes without errors and `evolink --version` shows a CLI version. `-g` installs a command into the current Node/npm global directory. It does not require cloning an MCP or plugin repository. Fix [installation problems](/docs/en/cli/billing#cli-install) before continuing.
  </Step>

  <Step title="Sign in to EvoLink">
    ```bash theme={null}
    evolink auth login
    ```

    1. Keep the command running. It opens a browser or prints this attempt’s sign-in link.
    2. Sign in to EvoLink, review the account, client, and requested permissions, and approve.
    3. Return to the original terminal, wait for completion, then run:

    ```bash theme={null}
    evolink auth status --json
    ```

    **Success:** `authenticated: true`. The CLI uses the operating system’s secure credential store; you do not need to create or paste an API Key. A browser callback alone does not complete terminal sign-in. Balance connectivity is checked in the final step. See [login troubleshooting](/docs/en/cli/billing#login) for browser, timeout, and Linux storage errors.
  </Step>

  <Step title="Install the skill and confirm agent discovery">
    ```bash theme={null}
    evolink skills install
    evolink skills status --json
    ```

    Without `--agent`, installation targets all supported skill directories; it does not install those agents. Use an agent value listed below to select one host.

    **Success:** `current: true`. In the agent chat, send:

    ```text theme={null}
    Confirm that this session can discover and read the evolink-cli skill. Verify connectivity first; do not generate media.
    ```

    The skill guides model discovery, parameters, estimates and approval, references, tasks, and original downloads. It does not register native MCP or sign you in. `assistant_discovery: not_checked` requires confirmation from the host. Refresh skills or open a new conversation if needed. See [skill discovery](/docs/en/cli/billing#skills-discovery).
  </Step>

  <Step title="Verify for free and confirm readiness">
    ```bash theme={null}
    evolink balance --json
    evolink doctor --json
    ```

    **Success:** balance returns account data; doctor reports `ok`, `connection_verified`, and `model_discovery_verified` as `true`; the agent confirms reading the skill. Zero balance can still establish connectivity, but generation needs sufficient funds.

    These steps do not create paid media tasks. Once complete, the assistant can say you are ready. Fix any `failed` check before proceeding; do not generate an image as a connectivity test.
  </Step>
</Steps>

### Install the skill for one agent

The website’s `evolink skills install` targets all supported directories. For one host, replace `AGENT_NAME` below with a value from this table:

| Client | AGENT\_NAME | Skill directory |
| - | - | - |
| Codex CLI | `codex` | `~/.agents/skills/evolink-cli` |
| Claude Code | `claude-code` | `~/.claude/skills/evolink-cli` |
| Cursor | `cursor` | `~/.agents/skills/evolink-cli` |
| OpenClaw | `openclaw` | `~/.openclaw/skills/evolink-cli` |
| Hermes | `hermes` | `~/.hermes/skills/evolink-cli` |
| Gemini CLI | `gemini` | `~/.agents/skills/evolink-cli` |
| OpenCode | `opencode` | `~/.agents/skills/evolink-cli` |
| GitHub Copilot CLI | `copilot` | `~/.agents/skills/evolink-cli` |

```text theme={null}
evolink skills install --agent AGENT_NAME
evolink doctor --agent AGENT_NAME --json
```

For example, Gemini uses:

```bash theme={null}
evolink skills install --agent gemini
evolink doctor --agent gemini --json
```

These are CLI installation targets, not a guarantee that every host version automatically discovers the directory. The host must permit commands and load skills; see [skill and permission troubleshooting](/docs/en/cli/billing#skills-discovery). Unlisted assistants can read [Agent-readable surfaces](/docs/en/cli/skills); do not invent agent values.

### Update the CLI and skill

```bash theme={null}
npm install -g @evolinkai/cli@latest
evolink --version
evolink skills install
evolink skills status --json
```

Check `current: true` and ask the agent to reread the skill. Local edits are preserved. Use `--replace-modified` only after deciding to replace them; previous content is backed up under `~/.evolink-media/skill-backups/`. Do not use the old `@evolinkai/media-cli` / `evolink-media` for new installations.

### Inspect sign-in or sign out

Check the current session:

```bash theme={null}
evolink auth status --json
```

Run this separately only when you want to sign out:

```bash theme={null}
evolink auth logout
```

This revokes the current CLI session. Manage native MCP authorization in its own host. Save existing task IDs before switching accounts; old quotes cannot be submitted as a new account.

<span id="ssh-login" />

### Linux and SSH: browser on a different machine

Persistent Linux sign-in needs **D-Bus and an unlocked Secret Service** in the current user session. Check this first. Without it, `credential_store_unavailable` is expected; root access is not a substitute. Configure secure storage or run the CLI locally in an environment that provides it.

<Steps>
  <Step title="Start sign-in on the remote host">
    ```bash theme={null}
    evolink auth login --no-browser --timeout 600
    ```

    Keep this command running and use the current authorization link. `--no-browser` suppresses browser launch but still waits for a callback; it is **not device-code login**. The range is 30–900 seconds, default 180.
  </Step>

  <Step title="Forward the callback port from a local terminal">
    Find the actual port in this attempt’s `redirect_uri`. Replace both `CALLBACK_PORT` values, plus `USER` and `HOST`. For `http://127.0.0.1:54321/callback`, use `54321` in both positions. Do not publish the full authorization link.

    ```bash theme={null}
    ssh -N -L CALLBACK_PORT:127.0.0.1:CALLBACK_PORT USER@HOST
    ```

    Keep the forwarding terminal running; an idle terminal without a prompt is normal. Resolve a port conflict without editing the authorization link’s port.
  </Step>

  <Step title="Open this link and verify remotely">
    Open the first step’s link in your local browser, sign in and approve, then wait for the remote command to finish. In that same remote user environment, run:

    ```bash theme={null}
    evolink auth status --json
    evolink balance --json
    ```

    Stop this forwarding session after success. On timeout, start a new login and forward its actual port; the old link cannot be reused. Native MCP callbacks belong to the host and do not use EvoLink CLI flags.
  </Step>
</Steps>

## After installation

Follow the [first generation workflow](/docs/en/cli/workflows#workflows): describe the task, have the agent check available models, parameters, and cost, then confirm before submission. See the [CLI command reference](/docs/en/cli/reference#cli-reference) and [central troubleshooting](/docs/en/cli/billing#faq) for installation, sign-in, permissions, and downloads.

For native remote MCP or local stdio, use the [other MCP clients guide](/docs/en/mcp/other-clients). CLI sign-in options do not configure an MCP connection.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.