---
title: "calicoctl delete"
description: "Reference for the calicoctl delete command in Calico Open Source, used to remove resources by name or from a manifest file."
product: "Calico Open Source"
version: "3.33 (latest)"
section: "Reference"
canonical_url: "https://docs.tigera.io/calico/latest/reference/calicoctl/delete"
---

# calicoctl delete

This sections describes the `calicoctl delete` command.

Read the [calicoctl command line interface user reference](https://docs.tigera.io/calico/latest/reference/calicoctl/overview.md) for a full list of calicoctl commands.

> **SECONDARY:** The available actions for a specific resource type may be limited based on the datastore used for Calico (etcdv3 / Kubernetes API). Please refer to the [Resources section](https://docs.tigera.io/calico/latest/reference/resources/overview.md) for details about each resource type.

## Displaying the help text for 'calicoctl delete' command

Run `calicoctl delete --help` to display the following help menu for the command.

```text
Delete one or more Calico resources, either by type and name or from a file,
directory, or stdin. Deleting a resource that doesn't exist is treated as an
error unless --skip-not-exists is set.

Usage:
  calicoctl delete [KIND [NAME...]] [flags]

Examples:
  # Delete specific policies by name.
  calicoctl delete networkpolicy foo bar

  # Delete the resources described in a file.
  calicoctl delete -f ./policy.yaml

Flags:
  -c, --config string      Path to the file containing connection configuration in YAML or JSON format. (default "/etc/calico/calicoctl.cfg")
  -f, --filename string    Filename to use to create/apply/replace/delete the resource. Use '-' for stdin.
  -h, --help               help for delete
  -n, --namespace string   Namespace of the resource.
  -R, --recursive          Process the filename specified in -f recursively.
      --skip-empty         Do not error if files contain no data.
  -s, --skip-not-exists    Skip over resources that do not exist.

Global Flags:
      --allow-version-mismatch   Allow client and cluster versions mismatch
      --context string           The name of the kubeconfig context to use
  -l, --log-level string         Set the log level (panic, fatal, error, warn, info, debug) (default "panic")
```

### Examples

1. Delete a set of resources (of mixed type) using the data in resources.yaml.

   ```bash
   calicoctl delete -f ./resources.yaml
   ```

   Results indicate that 8 resources were successfully deleted.

   ```text
   Successfully deleted 8 resource(s)
   ```

2. Delete a policy resource by name. The policy is called "policy1".

   ```bash
   bin/calicoctl delete policy policy1
   ```

   Results indicate success.

   ```text
   Successfully deleted 1 'policy' resource(s)
   ```

### Options

```text
  -s, --skip-not-exists    Skip over resources that do not exist.
  -f, --filename string    Filename to use to create/apply/replace/delete the resource. Use '-' for stdin.
  -n, --namespace string   Namespace of the resource.
```

### General options

```text
  -c, --config string      Path to the file containing connection configuration in YAML or JSON format. (default "/etc/calico/calicoctl.cfg")
```

## See also

- [Installing calicoctl](https://docs.tigera.io/calico/latest/operations/calicoctl/install.md).
- [Resources](https://docs.tigera.io/calico/latest/reference/resources/overview.md) for details on all valid resources, including file format and schema
- [NetworkPolicy](https://docs.tigera.io/calico/latest/reference/resources/networkpolicy.md) for details on the Calico selector-based policy model
