task.json
VSCode Task file
task.jsontasks.json
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
task.json and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
args | array<string> | The arguments passed to the command. Can be omitted. |
command | string | The command to be executed. Can be an external program or a shell command. |
isBackground | boolean | Specifies whether a global command is a background task. |
linux | object | — |
linux.args | array<string> | The arguments passed to the command. Can be omitted. |
linux.command | string | The command to be executed. Can be an external program or a shell command. |
linux.isBackground | boolean | Specifies whether a global command is a background task. |
linux.options | object | Options to be passed to the external program or shell |
linux.options.cwd | string | The current working directory of the executed program or shell. If omitted the current workspace's root is used. |
linux.options.env | object | The environment of the executed program or shell. If omitted the parent process' environment is used. |
linux.options.shell | object | Configuration of the shell when task type is `shell` |
linux.presentation | object | — |
linux.presentation.clear | boolean | Controls whether the terminal is cleared before this task is run. Defaults to `false`. |
linux.presentation.echo | boolean | Controls whether the command associated with the task is echoed in the user interface. Defaults to `true`. |
linux.presentation.focus | boolean | Controls whether the panel showing the task output is taking focus. Defaults to `false`. |
linux.presentation.group | string | Controls whether the task is executed in a specific terminal group using split panes. Tasks in the same group (specified by a string value) will use split terminals to present instead of a new terminal panel. |
linux.presentation.panel | string | Controls if the task panel is used for this task only (dedicated), shared between tasks (shared) or if a new panel is created on every task execution (new). Defaults to `shared`. one of: "dedicated", "new", "shared" |
linux.presentation.reveal | string | Controls whether the task output is reveal in the user interface. Defaults to `always`. one of: "always", "never", "silent" |
linux.presentation.showReuseMessage | boolean | Controls whether to show the `Terminal will be reused by tasks, press any key to close it` message. |
linux.problemMatcher | anyOf | The problem matcher to be used if a global command is executed (e.g. no tasks are defined). A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
linux.tasks | array | The configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
linux.type | string | The type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...) one of: "process", "shell", "npm" |
options | object | Options to be passed to the external program or shell |
options.cwd | string | The current working directory of the executed program or shell. If omitted the current workspace's root is used. |
options.env | object | The environment of the executed program or shell. If omitted the parent process' environment is used. |
options.shell | object | Configuration of the shell when task type is `shell` |
options.shell.args | array<string> | The arguments to be passed to the shell executable to run in command mode (e.g ['-c'] for bash or ['/S', '/C'] for cmd.exe). |
options.shell.executable | string | The shell to use. |
osx | object | — |
osx.args | array<string> | The arguments passed to the command. Can be omitted. |
osx.command | string | The command to be executed. Can be an external program or a shell command. |
osx.isBackground | boolean | Specifies whether a global command is a background task. |
osx.options | object | Options to be passed to the external program or shell |
osx.options.cwd | string | The current working directory of the executed program or shell. If omitted the current workspace's root is used. |
osx.options.env | object | The environment of the executed program or shell. If omitted the parent process' environment is used. |
osx.options.shell | object | Configuration of the shell when task type is `shell` |
osx.presentation | object | — |
osx.presentation.clear | boolean | Controls whether the terminal is cleared before this task is run. Defaults to `false`. |
osx.presentation.echo | boolean | Controls whether the command associated with the task is echoed in the user interface. Defaults to `true`. |
osx.presentation.focus | boolean | Controls whether the panel showing the task output is taking focus. Defaults to `false`. |
osx.presentation.group | string | Controls whether the task is executed in a specific terminal group using split panes. Tasks in the same group (specified by a string value) will use split terminals to present instead of a new terminal panel. |
osx.presentation.panel | string | Controls if the task panel is used for this task only (dedicated), shared between tasks (shared) or if a new panel is created on every task execution (new). Defaults to `shared`. one of: "dedicated", "new", "shared" |
osx.presentation.reveal | string | Controls whether the task output is reveal in the user interface. Defaults to `always`. one of: "always", "never", "silent" |
osx.presentation.showReuseMessage | boolean | Controls whether to show the `Terminal will be reused by tasks, press any key to close it` message. |
osx.problemMatcher | anyOf | The problem matcher to be used if a global command is executed (e.g. no tasks are defined). A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
osx.tasks | array | The configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
osx.type | string | The type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...) one of: "process", "shell", "npm" |
presentation | object | — |
presentation.clear | boolean | Controls whether the terminal is cleared before this task is run. Defaults to `false`. |
presentation.echo | boolean | Controls whether the command associated with the task is echoed in the user interface. Defaults to `true`. |
presentation.focus | boolean | Controls whether the panel showing the task output is taking focus. Defaults to `false`. |
presentation.group | string | Controls whether the task is executed in a specific terminal group using split panes. Tasks in the same group (specified by a string value) will use split terminals to present instead of a new terminal panel. |
presentation.panel | string | Controls if the task panel is used for this task only (dedicated), shared between tasks (shared) or if a new panel is created on every task execution (new). Defaults to `shared`. one of: "dedicated", "new", "shared" |
presentation.reveal | string | Controls whether the task output is reveal in the user interface. Defaults to `always`. one of: "always", "never", "silent" |
presentation.showReuseMessage | boolean | Controls whether to show the `Terminal will be reused by tasks, press any key to close it` message. |
problemMatcher | anyOf | The problem matcher to be used if a global command is executed (e.g. no tasks are defined). A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
tasks | array | The configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
type | string | The type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...) one of: "process", "shell", "npm" |
version | string | The configuration's version number one of: "2.0.0" |
windows | object | — |
windows.args | array<string> | The arguments passed to the command. Can be omitted. |
windows.command | string | The command to be executed. Can be an external program or a shell command. |
windows.isBackground | boolean | Specifies whether a global command is a background task. |
windows.options | object | Options to be passed to the external program or shell |
windows.options.cwd | string | The current working directory of the executed program or shell. If omitted the current workspace's root is used. |
windows.options.env | object | The environment of the executed program or shell. If omitted the parent process' environment is used. |
windows.options.shell | object | Configuration of the shell when task type is `shell` |
windows.presentation | object | — |
windows.presentation.clear | boolean | Controls whether the terminal is cleared before this task is run. Defaults to `false`. |
windows.presentation.echo | boolean | Controls whether the command associated with the task is echoed in the user interface. Defaults to `true`. |
windows.presentation.focus | boolean | Controls whether the panel showing the task output is taking focus. Defaults to `false`. |
windows.presentation.group | string | Controls whether the task is executed in a specific terminal group using split panes. Tasks in the same group (specified by a string value) will use split terminals to present instead of a new terminal panel. |
windows.presentation.panel | string | Controls if the task panel is used for this task only (dedicated), shared between tasks (shared) or if a new panel is created on every task execution (new). Defaults to `shared`. one of: "dedicated", "new", "shared" |
windows.presentation.reveal | string | Controls whether the task output is reveal in the user interface. Defaults to `always`. one of: "always", "never", "silent" |
windows.presentation.showReuseMessage | boolean | Controls whether to show the `Terminal will be reused by tasks, press any key to close it` message. |
windows.problemMatcher | anyOf | The problem matcher to be used if a global command is executed (e.g. no tasks are defined). A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
windows.tasks | array | The configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both. |
windows.type | string | The type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...) one of: "process", "shell", "npm" |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- 66 properties, 97% carrying a description, max nesting depth 10.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$comment | JSON Schema Core, draft 2020-12 | §8.3 — Comments With "$comment" |
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
anyOf | JSON Schema Core, draft 2020-12 | §10.2.1.2 — "anyOf" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.