Skip to content
CoDevDocs

Search guides, features, and settings.

Guides

Create a workspace

Start from a GitHub repository, or blank in a new repository.

A workspace is a cloud machine with its own saved disk, where your files, terminals, agents, and running app live. Each workspace is owned by one person. A team workspace belongs to your team too, so everyone on it can use it; see Team workspaces.

Create a workspace

From your workspace home, choose New workspace. Nothing is created until you choose Create workspace.

  1. Under Start from, choose Blank workspace or GitHub repository. A GitHub repository needs GitHub connected (Connect GitHub in the dialog); a blank workspace doesn't.
  2. If you're on a team, choose under Who it's for: your team (the default), where everyone on it can use the workspace, or Only me, which the team doesn't see.
  3. Enter a Name (up to 80 characters). A blank workspace needs one, since it names the new repository; from a repository it's optional, and CoDev uses the repository's name.
  4. Choose Create workspace.

The dialog shows how many of your workspace slots you've used. See Workspace limits.

Start blank

A blank workspace gets its own new private repository on your GitHub account, named after the workspace (spaces and other characters GitHub doesn't allow become hyphens, so My new app becomes My-new-app). It starts with a README.md, and your work pushes to it from the first commit.

CoDev's GitHub app must be installed on your account. If GitHub isn't connected yet, the workspace starts without a repository and asks you to connect GitHub when it opens; then Create repository makes it. If you already have a repository with that name, choose another name or start from that repository instead.

Start from a GitHub repository

Choose GitHub repository, then search your repositories. If you have more than one GitHub account or organization connected, pick it from the account selector. Private repositories are marked Private.

If you don't see a repository, give CoDev access to it: Settings → Integrations → Manage repository access.

Add a repository to a blank workspace

Started blank and want to bring in code later? Choose Add a repository… from the branch menu, or Add a repository in an empty chat. Owners and editors can do this while no agent is working; a sleeping workspace starts first.

If nothing has changed in the workspace yet, it switches to the repository. Otherwise the repository opens on a new branch, codev/<repository>-<default branch>, and your existing work stays as it is. A repository with no commits can't be added yet; add a first commit on GitHub, such as a README. It can take up to a minute.

Open and use a workspace

Opening a workspace starts it. While it starts you'll see Waiting to start, Preparing the machine, Starting the machine, and Connecting; a cold start can take a few minutes. Messages you send while it wakes go out as soon as it's ready.

The workspace's top bar shows its connection: Ready, Starting…, Checking…, or Asleep. When it's asleep, the chat says why and offers Resume workspace.

Workspaces stop on their own after 10 minutes without activity, keep their files, and start again when you use them. See How workspaces run.

Rename or delete a workspace

Only the owner can rename or delete a workspace.

  • Rename: in the workspace, open Settings → General → Name and choose Rename.
  • Delete: from the workspace card on your home, hold Hold to delete workspace, or use Settings → General → Delete workspace.

Deleting removes the machine, files, chats, and history for every member, and can't be undone.

Workspace limits

Your plan sets how many workspaces you can own (saved) and run at the same time. Workspaces shared with you don't count.

PlanSavedRunning at once
Pay as you go21
Pro103
Teams10 a seat, shared by the team3 a seat, shared by the team

When you reach your limit, delete a workspace or change plans. See Credits and plans.

The machine

Every workspace runs on its own ARM64 Linux virtual machine with 16 GiB of saved storage. Make sure your tools and dependencies support Linux on ARM64; most Node.js, Python, Go, and Rust toolchains do.