--- layout: commands page_title: 'Commands: Intention Create' description: >- The `consul intention create` command creates and updates L4 service intentions. It was deprecated in Consul v1.9.0; use `consul config` instead. --- # Consul Intention Create -> **Deprecated** - This command is deprecated in Consul 1.9.0 in favor of using the [config entry CLI command](/consul/commands/config/write). To create an intention, create or modify a [`service-intentions`](/consul/docs/connect/config-entries/service-intentions) config entry for the destination. Command: `consul intention create` Corresponding HTTP API Endpoint: [\[POST\] /v1/connect/intentions](/consul/api-docs/connect/intentions#create-intention-with-id) The `intention create` command creates or updates an L4 intention. The table below shows this command's [required ACLs](/consul/api-docs/api-structure#authentication). Configuration of [blocking queries](/consul/api-docs/features/blocking) and [agent caching](/consul/api-docs/features/caching) are not supported from commands, but may be from the corresponding HTTP endpoint. | ACL Required | | ------------------------------ | | `intentions:write`

Define intention rules in the `service` policy. Refer to [ACL requirements for intentions](/consul/docs/connect/intentions/create-manage-intentions#acl-requirements) for additional information.

| ## Usage - `consul intention create [options] SRC DST` - `consul intention create [options] -file FILE...` `SRC` and `DST` can both take [several forms](/consul/commands/intention#source-and-destination-naming). #### Command Options - `-allow` - Set the action to "allow" for intentions. This is the default. - `-deny` - Set the action to "deny" for intentions. This cannot be specified with `-allow`. - `-file` - Read intention data one or more files specified by the command line arguments, instead of source/destination pairs. - `-meta key=value` - Specify arbitrary KV metadata to associate with the intention. - `-replace` - Replace any matching intention. The replacement is done atomically per intention. #### Enterprise Options @include 'cli-http-api-partition-options.mdx' @include 'http_api_namespace_options.mdx' #### API Options @include 'http_api_options_client.mdx' ## Examples Create an intention `web => db`: ```shell-session $ consul intention create web db ``` Create intentions from a set of files: ```shell-session $ consul intention create -file one.json two.json ``` Create intentions from a directory using shell expansion: ```shell-session $ consul intention create -file intentions/*.json ```