Cloud quickstart

From sign-up to assigning your first task to an agent in 5 minutes.

This page walks you end-to-end through Concierto Cloud, sign up → install the CLI → start the daemon → create an agent → assign your first task. Takes about 5 minutes.

This guide uses the local daemon, so one prerequisite applies: you already have at least one AI coding tool installed locally (Claude Code, Codex, Cursor, Copilot, Gemini, Hermes, Kimi, Kiro CLI, OpenCode, OpenClaw, or Pi). The daemon auto-detects them on startup and refuses to start if none are present.

Prefer not to run a daemon? On Concierto Pro, the cloud (hosted) runtime runs agents on Concierto Cloud's worker pool, so you can skip steps 2 and 3 below. Hosted execution is generally available, so once your workspace is on Pro you will see a Concierto Hosted runtime already on the Runtimes page.

1. Create an account

Sign up at concierto.nstack.ai. You can log in with email (6-digit verification code) or Google.

After sign-up you're automatically placed in a default workspace (generated from your account name). You can rename it later, or create new workspaces.

2. Install the Concierto CLI

macOS / Linux (Homebrew recommended):

brew install nstack-enterprises/tap/concierto

macOS / Linux (no Homebrew):

curl -fsSL https://raw.githubusercontent.com/nstack-enterprises/concierto-agent-platform/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/nstack-enterprises/concierto-agent-platform/main/scripts/install.ps1 | iex

Verify the install:

concierto version

3. Log in + start the daemon

A single command handles login and starts the daemon:

concierto setup

concierto setup will:

  1. Configure the CLI to connect to Concierto Cloud
  2. Open your browser for login (same email verification code / Google OAuth as the web)
  3. Store the generated PAT in ~/.concierto/config.json
  4. Start the daemon automatically, it begins polling for tasks every 3 seconds and sending heartbeats every 15 seconds

Using the desktop app? The desktop app starts the daemon automatically on launch, no need to run concierto setup by hand. See Desktop app.

Verify the daemon is running:

concierto daemon status

online means it has registered with the server.

4. Verify the runtime is online

In the web UI, go to Settings → Runtimes. The daemon you just started should appear as one or more active runtimes, one per AI coding tool installed locally.

If it shows as offline, don't panic, see Troubleshooting → Daemon can't reach the server.

5. Create an agent

In the web UI, go to Settings → Agents and click New Agent:

  • Name, the name shown for this agent on boards and in comments. Pick something you like
  • Provider, choose an AI coding tool you have installed locally (the dropdown only lists tools detected by your runtimes)
  • Model (optional). The model selection inside that tool (a static list or dynamic discovery, depending on the provider)
  • Instructions (optional), system prompt for this agent

Once created, the agent shows up in your workspace member list and can be assigned work like a human member.

6. Assign your first task

Create an issue in the web UI, or from the CLI:

concierto issue create --title "Add an ASCII architecture diagram to the README"

Assign the issue to the agent you just created. Click its avatar in the web UI, or use the CLI:

concierto issue assign TRK-1 --to my-agent-name

--to takes the name of an agent or member. A substring match works. If the agent is called my-code-reviewer, reviewer resolves to it. If your workspace has overlapping names, pass --to-id <uuid> instead (mutually exclusive with --to); look up the UUID via concierto agent list --output json or concierto workspace members --output json.

What happens next from the daemon:

  1. It picks up the task within 3 seconds (status goes from queued to dispatched)
  2. It invokes the matching AI coding tool to start work (status becomes running)
  3. The AI works locally. It may read your code directory, run commands, edit files
  4. When done, it reports the result back to Concierto (status becomes completed or failed, depending on whether auto-retry kicks in)

The web UI updates in real time (via WebSocket), no refresh needed.

Next steps