Quickstart: Your First Machine Snapshot

To get started with Devin, we recommend creating one (or more) snapshots that allow Devin to start working with its environment already set up, repos already cloned, startup commands run, etc. Snapshots (1) make it possible to skip repetitive setup each session and (2) provide a way to resume work from previous sessions.

To create your first machine snapshot, start a new session:

  1. Ask Devin to clone a repo and install the dependencies
Hey Devin, set up {my repo} and get it running. Follow the README to install the dependencies.
  1. Verify that the repo is built successfully

    1. Make sure there are no stray changes (e.g. untracked changes in git) that could confuse Devin.
    2. [Optional] You can go to Use Devin's Machine to open a shell on the dev box and verify the clean state.
  2. If Devin successfully built the repo, you can create a snapshot from this run. Remember that creating the snapshot will terminate the session so only do this once the session is done.

  3. When creating the snapshot, you can add startup commands to pull the latest version from Git and install the latest dependencies.

What is a machine snapshot?

Machine snapshots are ‘save’ states for Devin. After you take a snapshot, you can start from that machine state (with everything you’ve downloaded/installed) on any future Devin run.

You can use machine snapshots to:

  • Perform one-time installation and setup and start new sessions from that point, every time
  • Resume from a previously ended session
  • Execute start up commands

How do I create a machine snapshot?

  1. Once your run has ended, click the “Create machine snapshot” button in the menu in the top right corner of Devin’s Workspace.

    This feature is only available when Devin is awaiting a response or after the session ends.

Devin

  1. Then, fill in your snapshot name, description and the startup commands you want to run each time the snapshot is selected.

    The description is used to explain the state of the machine to future Devin (who has no memory of your previous run). Once submitted, the snapshot will generally take 15-30 minutes before becoming available. In some cases when your run has already ended a long time ago, your snapshot can actually become available immediately.

Devin

You’ll see the snapshot on the home page under “Select a Snapshot” as greyed out (pending) until it finishes and becomes available.

Tip: Consider setting a default Quick Start containing the snapshot you created. All subsequent sessions will automatically start from this snapshot, including sessions started on Slack. You can find Quick Starts on the home page.

Devin

Tip: While it’s possible to terminate a session at any point and then take a snapshot, it’s generally better to wait until Devin no longer has any commands running before creating the snapshot. This way you can be sure you’re not capturing Devin’s machine state mid-operation!

How do I start from a machine snapshot?

Before starting your Devin run, just choose a machine snapshot under “Select a snapshot” and you’re good to go! You can start from a snapshot as many times as you want.

Devin

Tips & Important Notes

  • Devin won’t have memory of the original session. You can either provide it in your input prompt or give additional context in your snapshot description!
  • If you’re working in an organization, everyone will be able to see the snapshots you and your teammates have created.
  • Devin’s performance can sometimes degrade as the chat log gets longer. If this happens, consider using snapshots as a way to ‘wipe’ the log but maintain the machine image progress. Just remember to give Devin all the necessary context when you start from the snapshot.