> For the complete documentation index, see [llms.txt](https://docs.tessl.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tessl.io/introduction-to-tessl/set-up-tessl.md).

# Set up Tessl

> **Takeaway:** By the end of this page you will have a Tessl account, the CLI installed and authenticated, and Tessl initialized in a project. That is everything you need before running your first workflow.

Tessl helps you manage the skills and context your coding agents rely on. You work with it through the `tessl` command line tool, so setup comes down to three things: install the CLI, create an account, and create a project. It takes a few minutes.

## Install the CLI

Install the CLI with the method for your operating system.

**macOS and Linux**

```bash
curl -fsSL https://get.tessl.io | sh
```

**Windows**

```bash
winget install tessl.tessl
```

Check that it installed:

```bash
tessl --help
```

If you see the list of commands, you are good to go.

## Create your account

An account gives you private workspaces, the ability to publish skills, and access to Tessl's MCP tools. You can create one in the browser, or let the CLI prompt you on first login.

1. Go to the [Tessl Registry](https://tessl.io/registry).
2. Click **Log in**, then **Create account**.
3. Create your account with Google or GitHub.

![Create account screen with Continue with Google and GitHub](/files/7qabYOFmayecfp5vW34d)

That is the same account you will use to authenticate the CLI in the next step.

## Log in

Authenticate the CLI so it can reach your workspaces and the registry:

```bash
tessl login
```

The CLI shows a verification code and a URL. Open the URL, sign in, and confirm the code. If you skipped account creation above, this is where you will be prompted to create one.

![Device-code confirmation screen](/files/ubN0nTpmsmH5g7b4BWOa)

Confirm you are signed in:

```bash
tessl whoami
```

When you need to sign out, run `tessl logout`.

## Create a project

Tessl works inside a repository you already have, so there is nothing new to scaffold. From the root of that repository, run:

```bash
cd your-repo
tessl project create
```

This links the repository to a new Tessl project and sets up your coding agent to use Tessl, creating a `tessl.json` if one does not already exist. Tessl asks you to pick a workspace for the project, or to create one on the spot. New to projects and workspaces? See Core concepts.

Setting up your agent means configuring the MCP connection so it can talk to Tessl. This is automatic for Claude Code, Cursor, Gemini, Codex, Copilot CLI, and Copilot in VS Code; see [Custom agent setup](/reference/custom-agent-setup.md) for anything it does not detect.

## Keep the CLI updated

The CLI updates itself in the background, so most of the time you do not need to think about it. Updates run only when you invoke a command, and they never block your work. If you want to update on demand, pin a version, or remove the CLI entirely, the [Installation reference](/introduction-to-tessl/set-up-tessl/installation.md) covers every option.

## Next

You have an account, an authenticated CLI, and an initialized project. Next, put it to work: scan your real skills, find one that needs improvement, and publish a better version in **Improve your first skill**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tessl.io/introduction-to-tessl/set-up-tessl.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
