Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / Schema registry / task.json
Schema registry

task.json

VSCode Task file

task.jsontasks.json

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.

Validate a task.json → View raw schema

Fields

Generated directly from the schema, following local $refs, to two levels of nesting.

Field Type Description
argsarray<string>The arguments passed to the command. Can be omitted.
commandstringThe command to be executed. Can be an external program or a shell command.
isBackgroundbooleanSpecifies whether a global command is a background task.
linuxobject
linux.argsarray<string>The arguments passed to the command. Can be omitted.
linux.commandstringThe command to be executed. Can be an external program or a shell command.
linux.isBackgroundbooleanSpecifies whether a global command is a background task.
linux.optionsobjectOptions to be passed to the external program or shell
linux.options.cwdstringThe current working directory of the executed program or shell. If omitted the current workspace's root is used.
linux.options.envobjectThe environment of the executed program or shell. If omitted the parent process' environment is used.
linux.options.shellobjectConfiguration of the shell when task type is `shell`
linux.presentationobject
linux.presentation.clearbooleanControls whether the terminal is cleared before this task is run. Defaults to `false`.
linux.presentation.echobooleanControls whether the command associated with the task is echoed in the user interface. Defaults to `true`.
linux.presentation.focusbooleanControls whether the panel showing the task output is taking focus. Defaults to `false`.
linux.presentation.groupstringControls 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.panelstringControls 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.revealstringControls whether the task output is reveal in the user interface. Defaults to `always`.
one of: "always", "never", "silent"
linux.presentation.showReuseMessagebooleanControls whether to show the `Terminal will be reused by tasks, press any key to close it` message.
linux.problemMatcheranyOfThe 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.tasksarrayThe configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both.
linux.typestringThe type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...)
one of: "process", "shell", "npm"
optionsobjectOptions to be passed to the external program or shell
options.cwdstringThe current working directory of the executed program or shell. If omitted the current workspace's root is used.
options.envobjectThe environment of the executed program or shell. If omitted the parent process' environment is used.
options.shellobjectConfiguration of the shell when task type is `shell`
options.shell.argsarray<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.executablestringThe shell to use.
osxobject
osx.argsarray<string>The arguments passed to the command. Can be omitted.
osx.commandstringThe command to be executed. Can be an external program or a shell command.
osx.isBackgroundbooleanSpecifies whether a global command is a background task.
osx.optionsobjectOptions to be passed to the external program or shell
osx.options.cwdstringThe current working directory of the executed program or shell. If omitted the current workspace's root is used.
osx.options.envobjectThe environment of the executed program or shell. If omitted the parent process' environment is used.
osx.options.shellobjectConfiguration of the shell when task type is `shell`
osx.presentationobject
osx.presentation.clearbooleanControls whether the terminal is cleared before this task is run. Defaults to `false`.
osx.presentation.echobooleanControls whether the command associated with the task is echoed in the user interface. Defaults to `true`.
osx.presentation.focusbooleanControls whether the panel showing the task output is taking focus. Defaults to `false`.
osx.presentation.groupstringControls 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.panelstringControls 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.revealstringControls whether the task output is reveal in the user interface. Defaults to `always`.
one of: "always", "never", "silent"
osx.presentation.showReuseMessagebooleanControls whether to show the `Terminal will be reused by tasks, press any key to close it` message.
osx.problemMatcheranyOfThe 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.tasksarrayThe configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both.
osx.typestringThe type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...)
one of: "process", "shell", "npm"
presentationobject
presentation.clearbooleanControls whether the terminal is cleared before this task is run. Defaults to `false`.
presentation.echobooleanControls whether the command associated with the task is echoed in the user interface. Defaults to `true`.
presentation.focusbooleanControls whether the panel showing the task output is taking focus. Defaults to `false`.
presentation.groupstringControls 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.panelstringControls 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.revealstringControls whether the task output is reveal in the user interface. Defaults to `always`.
one of: "always", "never", "silent"
presentation.showReuseMessagebooleanControls whether to show the `Terminal will be reused by tasks, press any key to close it` message.
problemMatcheranyOfThe 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.
tasksarrayThe configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both.
typestringThe type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...)
one of: "process", "shell", "npm"
versionstringThe configuration's version number
one of: "2.0.0"
windowsobject
windows.argsarray<string>The arguments passed to the command. Can be omitted.
windows.commandstringThe command to be executed. Can be an external program or a shell command.
windows.isBackgroundbooleanSpecifies whether a global command is a background task.
windows.optionsobjectOptions to be passed to the external program or shell
windows.options.cwdstringThe current working directory of the executed program or shell. If omitted the current workspace's root is used.
windows.options.envobjectThe environment of the executed program or shell. If omitted the parent process' environment is used.
windows.options.shellobjectConfiguration of the shell when task type is `shell`
windows.presentationobject
windows.presentation.clearbooleanControls whether the terminal is cleared before this task is run. Defaults to `false`.
windows.presentation.echobooleanControls whether the command associated with the task is echoed in the user interface. Defaults to `true`.
windows.presentation.focusbooleanControls whether the panel showing the task output is taking focus. Defaults to `false`.
windows.presentation.groupstringControls 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.panelstringControls 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.revealstringControls whether the task output is reveal in the user interface. Defaults to `always`.
one of: "always", "never", "silent"
windows.presentation.showReuseMessagebooleanControls whether to show the `Terminal will be reused by tasks, press any key to close it` message.
windows.problemMatcheranyOfThe 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.tasksarrayThe configuration of the available tasks. A tasks.json file can either contain a global problemMatcher property or a tasks property but not both.
windows.typestringThe type of a custom task. Tasks of type "shell" are executed inside a shell (e.g. bash, cmd, powershell, ...)
one of: "process", "shell", "npm"

What we found in this schema

Specification sections for the keywords in this schema

Keyword Document Section
$commentJSON Schema Core, draft 2020-12§8.3 — Comments With "$comment"
$idJSON Schema Core, draft 2020-12§8.2.1 — The "$id" Keyword
$refJSON Schema Core, draft 2020-12§8.2.3.1 — Direct References with "$ref"
$schemaJSON Schema Core, draft 2020-12§8.1.1 — "$schema"
additionalPropertiesJSON Schema Core, draft 2020-12§10.3.2.3 — "additionalProperties"
anyOfJSON Schema Core, draft 2020-12§10.2.1.2 — "anyOf"
descriptionJSON Schema Validation, draft 2020-12§9.1 — "title" and "description"
enumJSON Schema Validation, draft 2020-12§6.1.2 — "enum"
itemsJSON Schema Core, draft 2020-12§10.3.1.2 — "items"
propertiesJSON Schema Core, draft 2020-12§10.3.2.1 — "properties"
typeJSON Schema Validation, draft 2020-12§6.1.1 — "type"

Documents

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.

← All schemas