---
title: pack init
versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖
fpt: '*'
ghec: '*'
ghes: '*'
topics:
- Code Security
- Code scanning
- CodeQL
type: reference
product: '{% data reusables.gated-features.codeql %}'
autogenerated: codeql-cli
intro: 'Initializes a qlpack in the specified directory.'
redirect_from:
- /code-security/codeql-cli/manual/pack-init
---
{% data reusables.codeql-cli.man-pages-version-note %}
## Synopsis
```shell copy
codeql pack init [--dir=
] [--extractor=] ... --
```
## Description
Initializes a qlpack in the specified directory.
The pack will be created in a child directory of the specified
directory.
Available since `v2.6.0`.
## Options
### Primary Options
#### ``
\[Mandatory] The scope and name of the pack to create. Scope is only
required if this pack is to be published.
#### `--version=`
Initial version of the pack.
#### `-d, --dir=`
The directory to create the pack in. Defaults to current working
directory.
#### `-e, --extractor=`
The extractor to use for this qlpack. Only useful if this pack contains
tests.
### Common options
#### `-h, --help`
Show this help text.
#### `-J=`
\[Advanced] Give option to the JVM running the command.
(Beware that options containing spaces will not be handled correctly.)
#### `-v, --verbose`
Incrementally increase the number of progress messages printed.
#### `-q, --quiet`
Incrementally decrease the number of progress messages printed.
#### `--verbosity=`
\[Advanced] Explicitly set the verbosity level to one of errors,
warnings, progress, progress+, progress++, progress+++. Overrides `-v`
and `-q`.
#### `--logdir=`
\[Advanced] Write detailed logs to one or more files in the given
directory, with generated names that include timestamps and the name of
the running subcommand.
(To write a log file with a name you have full control over, instead
give `--log-to-stderr` and redirect stderr as desired.)
#### `--common-caches=`
\[Advanced] Controls the location of cached data on disk that will
persist between several runs of the CLI, such as downloaded QL packs and
compiled query plans. If not set explicitly, this defaults to a
directory named `.codeql` in the user's home directory; it will be
created if it doesn't already exist.
Available since `v2.15.2`.