---
updatedAt: 2026-03-30T15:55:42.000Z
agentTools:
  projectIndex: https://docs.scalr.io/llms.txt
---

# Execution Mode

By default, a workspace's execution mode is set to remote, which means the run will execute in Scalr. If you need to run it locally and don't want to be charged for a run, the execution mode flag can be set per workspace to "State storage only":

<Image align="center" src="https://files.readme.io/c8edabb1ca5cd5ac37a189bdf387820a70f8affd5a54309f515e9b2e64275114-Screenshot_2026-03-30_at_9.50.34_AM.png" />

The state storage only mode is great for early development if users want to test code locally, but still have state stored in a Scalr workspace. **Scalr does not charge for runs in a workspace that has the execution mode set to state storage only.**

The following features are not available when using state storage only:

* Scalr run dashboard
* Open Policy Agent
* Infracost
* Provider Configurations
* Variables stored in Scalr

Provider:

```text main.tf
resource "scalr_workspace" "infra" {
  name           = "infra"
  environment_id = "org-123456"
  execution_mode = "local"
}
```

See the full workspace provider docs [here](provider_resource_scalr_workspace) .

**If the execution mode is set to state storage only, users will still be able to execute runs through the UI or pull requests, and those will execute remotely in Scalr. The state storage only mode is designed for CLI-based workspaces.**

# Sibling pages

* [Agent Pools](https://docs.scalr.io/scalr/docs/agent-pools-1.md)
* [Auto-Apply Runs](https://docs.scalr.io/scalr/docs/auto-apply-runs.md)
* [Auto Queue Runs](https://docs.scalr.io/scalr/docs/auto-queue-runs.md)
* [Container Image Info](https://docs.scalr.io/scalr/docs/container-image-info.md)
* [Custom Hooks](https://docs.scalr.io/scalr/docs/custom-hooks.md)
* [Deletion Protection](https://docs.scalr.io/scalr/docs/deletion-protection.md)
* [Ephemeral Workspaces](https://docs.scalr.io/scalr/docs/epehemeral-workspaces.md)
* [Force Runs in a PR](https://docs.scalr.io/scalr/docs/force-runs-in-a-pr.md)
* [IAC Platform/Pipeline Settings](https://docs.scalr.io/scalr/docs/iac-platform.md)
* [Run Scheduler](https://docs.scalr.io/scalr/docs/drift-run-scheduler.md)
* [Run Timeout](https://docs.scalr.io/scalr/docs/run-timeout.md)
* [Run Triggers](https://docs.scalr.io/scalr/docs/run-triggers-1.md)
* [Sharing Outputs](https://docs.scalr.io/scalr/docs/sharing-outputs.md)
* [SSH Keys](https://docs.scalr.io/scalr/docs/ssh-keys.md)
* [Tags](https://docs.scalr.io/scalr/docs/tags-1.md)
* [.terraformignore](https://docs.scalr.io/scalr/docs/terraformignore.md)
* [Workspace Migration](https://docs.scalr.io/scalr/docs/workspace-migration.md)
* [Workspace Type](https://docs.scalr.io/scalr/docs/environment-types.md)