Files
coder/docs/reference/cli/external-workspaces_create.md
T
Rowan Smith 77522c3945 feat: cli: add support for supplying ephemeral parameters at workspace creation (#26012)
Resolves the issue of `--prompt-ephemeral-parameters` and
`--ephemeral-parameter` not being available for use in the `coder
create` workspace creation command (they are only available in `coder
start` command). Back when they were [added
originally](https://github.com/coder/coder/pull/15030) it seems to have
been an oversight that they were left out.

The problem this solves:

```
coder create --parameter my_ephemeral_parameter=foo
error: prepare build: ephemeral parameter "my_ephemeral_parameter" can be used only with --prompt-ephemeral-parameters or --ephemeral-parameter flag
```

```
coder create my-test-ws -t general --ephemeral-parameter my_ephemeral_parameter=foo
parsing flags ([create my-test-ws -t general --ephemeral-parameter my_ephemeral_parameter=foo]) for "coder create": unknown flag: --ephemeral-parameter
```

Tested on a template with the following:

```
data "coder_parameter" "my_ephemeral_parameter" {
  name         = "my_ephemeral_parameter"
  type         = "bool"
  description  = "true or false?"
  mutable      = true
  default      = false
  ephemeral    = true
}

resource "coder_env" "debug_ephemeral" {
  agent_id = coder_agent.main.id
  name     = "EPHEMERAL_TEST"
  value    = data.coder_parameter.my_ephemeral_parameter.value
}
```

By running:

```
➜  coder git:(rowan/coder-create-5495) ✗ go run cmd/coder/main.go create --ephemeral-parameter my_ephemeral_parameter=true
> Specify a name for your workspace: ws4
Select a template below to preview the provisioned infrastructure:
?  kasmvnc-ubuntu-coder-dev used by 1 active developer
Select a preset below:
?  Small (2 CPU / 4 GB)
....
...
The ws4 workspace has been created at Jun  3 12:36:38!

➜  coder git:(rowan/coder-create-5495) ✗ coder ssh ws4               
workspace-ws4-5d6994756f-qlwnl% echo $EPHEMERAL_TEST
true
workspace-ws4-5d6994756f-qlwnl% exit
```
2026-06-11 09:06:07 +10:00

190 lines
6.1 KiB
Markdown
Generated

<!-- DO NOT EDIT | GENERATED CONTENT -->
# external-workspaces create
Create a new external workspace
## Usage
```console
coder external-workspaces create [flags] [workspace]
```
## Description
```console
- Create a workspace for another user (if you have permission):
$ coder create <username>/<workspace_name>
```
## Options
### -t, --template
| | |
|-------------|-----------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_TEMPLATE_NAME</code> |
Specify a template name.
### --template-version
| | |
|-------------|--------------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_TEMPLATE_VERSION</code> |
Specify a template version name.
### --preset
| | |
|-------------|---------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_PRESET_NAME</code> |
Specify the name of a template version preset. Use 'none' to explicitly indicate that no preset should be used.
### --start-at
| | |
|-------------|----------------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_WORKSPACE_START_AT</code> |
Specify the workspace autostart schedule. Check coder schedule start --help for the syntax.
### --stop-after
| | |
|-------------|------------------------------------------|
| Type | <code>duration</code> |
| Environment | <code>$CODER_WORKSPACE_STOP_AFTER</code> |
Specify a duration after which the workspace should shut down (e.g. 8h).
### --automatic-updates
| | |
|-------------|-------------------------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_WORKSPACE_AUTOMATIC_UPDATES</code> |
| Default | <code>never</code> |
Specify automatic updates setting for the workspace (accepts 'always' or 'never').
### --copy-parameters-from
| | |
|-------------|----------------------------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_WORKSPACE_COPY_PARAMETERS_FROM</code> |
Specify the source workspace name to copy parameters from.
### --no-wait
| | |
|-------------|------------------------------------|
| Type | <code>bool</code> |
| Environment | <code>$CODER_CREATE_NO_WAIT</code> |
Return immediately after creating the workspace. The build will run in the background.
### -y, --yes
| | |
|------|-------------------|
| Type | <code>bool</code> |
Bypass confirmation prompts.
### --build-option
| | |
|-------------|----------------------------------|
| Type | <code>string-array</code> |
| Environment | <code>$CODER_BUILD_OPTION</code> |
Build option value in the format "name=value".
### --build-options
| | |
|------|-------------------|
| Type | <code>bool</code> |
Prompt for one-time build options defined with ephemeral parameters.
### --ephemeral-parameter
| | |
|-------------|-----------------------------------------|
| Type | <code>string-array</code> |
| Environment | <code>$CODER_EPHEMERAL_PARAMETER</code> |
Set the value of ephemeral parameters defined in the template. The format is "name=value".
### --prompt-ephemeral-parameters
| | |
|-------------|-------------------------------------------------|
| Type | <code>bool</code> |
| Environment | <code>$CODER_PROMPT_EPHEMERAL_PARAMETERS</code> |
Prompt to set values of ephemeral parameters defined in the template. If a value has been set via --ephemeral-parameter, it will not be prompted for.
### --parameter
| | |
|-------------|------------------------------------|
| Type | <code>string-array</code> |
| Environment | <code>$CODER_RICH_PARAMETER</code> |
Rich parameter value in the format "name=value".
### --rich-parameter-file
| | |
|-------------|-----------------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_RICH_PARAMETER_FILE</code> |
Specify a file path with values for rich parameters defined in the template. The file should be in YAML format, containing key-value pairs for the parameters.
### --parameter-default
| | |
|-------------|--------------------------------------------|
| Type | <code>string-array</code> |
| Environment | <code>$CODER_RICH_PARAMETER_DEFAULT</code> |
Rich parameter default values in the format "name=value".
### --use-parameter-defaults
| | |
|-------------|------------------------------------------------------|
| Type | <code>bool</code> |
| Environment | <code>$CODER_WORKSPACE_USE_PARAMETER_DEFAULTS</code> |
Automatically accept parameter defaults when no value is provided.
### --always-prompt
| | |
|------|-------------------|
| Type | <code>bool</code> |
Always prompt all parameters. Does not pull parameter values from existing workspace.
### -O, --org
| | |
|-------------|----------------------------------|
| Type | <code>string</code> |
| Environment | <code>$CODER_ORGANIZATION</code> |
Select which organization (uuid or name) to use.