---
title: include
summary: null
url: https://www.fastly.com/documentation/reference/vcl/statements/include
---

```
include(STRING filename);
```

**Available in:** all subroutines

Inserts the contents of the specified VCL file at the current line.

```vcl
include "secondary-vcl-file";
```

You may upload more than one custom VCL file in a Fastly service configuration, but one must be marked as the main file, which is the default setting of the [`main`](https://www.fastly.com/documentation/reference/api/vcl-services/vcl/#field_main) field for the first VCL file you upload. Fastly will compile the main VCL file, and will ignore all others unless they are explicitly included.

The name of the file being included must match the value that was specified in the [`name`](https://www.fastly.com/documentation/reference/api/vcl-services/vcl/#field_name) field when the included content was uploaded.

The `include` statement does not create scope. Including a file is equivalent to concatenating the files together.

Included VCL files are part of the versioned set of configuration. While a common use case for inclusions is to separate out code that changes more frequently than other code, it is still necessary to clone the entire service configuration in order to update any one VCL file. If you want to be able to update a chunk of VCL without versioning the service, consider using dynamic [VCL snippets](https://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/developer-guide-using/#vcl-snippets).
