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

# Doppels FAQ: Execution, Tokens, Secrets, and Licensing

> Answers to common questions about Doppels: execution model, tokens, secrets, Capability vs Recipe, offline use, and open-source licensing.

This page answers the questions that come up most often when you're getting started with Doppels or evaluating it for your workflow. Topics include the execution model, the relationship between Capabilities and Recipes, token usage, secrets handling, supported agents, offline use, open-source licensing, and the current pre-alpha status of the project.

<AccordionGroup>
  <Accordion title="Does the cloud run my Steps?">
    No. The cloud coordinates Share, identity, and audit. Every Step runs on your machine — with your credentials, inside your network, under your environment. Offline still works: `doppels validate` and `doppels run` have no network dependency.
  </Accordion>

  <Accordion title="What is the difference between a Capability and a Recipe?">
    A **Capability** is the public contract — it declares what inputs a piece of automation accepts and what outputs it guarantees. A **Recipe** is the local *how* — YAML that declares `provides` and runs the Steps. The same Capability can have zero, one, or many Recipes. A Capability without a Recipe means a human fulfills the contract manually by following the associated runbook.
  </Accordion>

  <Accordion title="Do I use tokens every time I run a frozen Capability?">
    No. You spend tokens once during the agent session when the Capability and Recipe YAML are written. After that, `doppels run` executes the deterministic Recipe locally — **0 tokens** on every replay. The whole point of freezing is that re-running an operation costs nothing beyond compute time on your own machine.
  </Accordion>

  <Accordion title="Which agents does doppel-freeze work with?">
    The `doppel-freeze` skill is built for Claude, Cursor, Codex, OpenCode, Windsurf, and VS Code. Install the skill once per machine or project with:

    ```shell theme={null}
    npx skills add doppelshq/doppels --skill doppel-freeze
    ```

    Then, after doing real work in an agent session, ask it to freeze what you just did into a Capability.
  </Accordion>

  <Accordion title="Where do my secrets and credentials live?">
    On your machine. Doppels inherits host authentication — `aws-cli`, `gcloud`, SSH keys, VPN, and any other credentials already available in your shell environment. Nothing is uploaded. When you use Share, only the declared returns are exposed; credentials, private logs, and anything not listed in `outputs` are never included by default.
  </Accordion>

  <Accordion title="Is Doppels open source?">
    Yes. The CLI, schemas, and agent skills all ship under the **Apache 2.0** license. You can inspect every digest, fork Recipes, and contribute at [github.com/doppelshq/doppels](https://github.com/doppelshq/doppels). There is no proprietary runtime, no black-box execution layer, and no vendor lock-in — your Recipes run locally forever.
  </Accordion>

  <Accordion title="Can I use Doppels offline?">
    Yes — local execution is fully offline. `doppels validate` and `doppels run` work without any network connection. Cloud features (Share, audit, identity) require connectivity, but your core workflow of validating and replaying Capabilities is entirely local.
  </Accordion>

  <Accordion title="Is there a `doppels freeze` CLI command?">
    No. Freezing is performed by the `doppel-freeze` **agent skill** — the agent reads your session and writes the Capability and Recipe YAML for you. There is no `doppels freeze` subcommand in the CLI. After the agent writes the YAML, you use `doppels validate` to check it and `doppels run` to execute it.
  </Accordion>

  <Accordion title="What is the current status of Doppels?">
    Doppels is **pre-alpha**. The latest tagged builds are prereleases (`v0.0.0-dev.*`) to exercise the release pipeline — not a product launch. APIs and YAML formats may change before a stable release. Follow the [GitHub repository](https://github.com/doppelshq/doppels) or watch releases to stay current.
  </Accordion>

  <Accordion title="How do I update the CLI?">
    Re-run the same install command you used originally.

    **curl:**

    ```shell theme={null}
    curl -fsSL https://raw.githubusercontent.com/doppelshq/doppels/main/install.sh | sh
    ```

    **Homebrew:**

    ```shell theme={null}
    brew upgrade doppels
    ```

    Check the installed version at any time with `doppels --version`.
  </Accordion>
</AccordionGroup>
