> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.itential.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server.

# Create an executable object

> Define reusable execution commands for services by creating executable objects that specify a full path to an executable file.

You can create an executable object to define a reusable execution command for services. Executable objects allow you to specify the full path to an executable file and configure security settings like allowed arguments and path validation.

## Prerequisites

* The executable file must exist on your system at the specified path
* You must know the full path to the executable file

## Create an executable object with basic settings

Use the `iagctl create executable-object` command to create a new executable object.

**Syntax**:

```bash
iagctl create executable-object <name> \
  --exec-command <path-to-executable>
```

**Parameters**:

* `<name>`: A unique name for the executable object
* `--exec-command`: The full path to the executable file on your system

**Example**:

Create an executable object for Python 3.11:

```bash
iagctl create executable-object python311-standard \
  --exec-command /usr/bin/python3.11
```

## Create an executable object with a description

Add a description to help operators understand the purpose of the executable object.

**Syntax**:

```bash
iagctl create executable-object <name> \
  --exec-command <path-to-executable> \
  --description "<description-text>"
```

**Example**:

```bash
iagctl create executable-object python311-standard \
  --exec-command /usr/bin/python3.11 \
  --description "Python 3.11 interpreter with standard configuration"
```

## Additional examples

Create an executable object for Terraform:

```bash
iagctl create executable-object terraform-latest \
  --exec-command /usr/local/bin/terraform \
  --description "Terraform for infrastructure automation"
```

Create an executable object for a custom script interpreter:

```bash
iagctl create executable-object node-v18 \
  --exec-command /usr/local/bin/node \
  --description "Node.js version 18 runtime"
```

Create an executable object for Python with conda:

```bash
iagctl create executable-object python-conda \
  --exec-command /opt/conda/bin/python \
  --description "Python from conda environment"
```

## Next steps

After you create an executable object, you can:

* [View the executable object to confirm its configuration](./manage-executable-objects#view-executable-objects)
* [Use the executable object to create an executable service](./create-executable-service)
* [Use the executable object to create a Python service with a custom interpreter](./use-executable-object-with-services)