--- title: query decompile versions: fpt: '*' ghae: '*' ghec: '*' ghes: '*' topics: - Advanced Security - Code scanning - CodeQL type: reference product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- [Plumbing] Read an intermediate representation of a compiled query from a .qlo file. redirect_from: - /code-security/codeql-cli/manual/query-decompile --- {% data reusables.codeql-cli.man-pages-version-note %} ## Synopsis ```shell copy codeql query decompile [--output=] ... -- ``` ## Description \[Plumbing] Read an intermediate representation of a compiled query from a .qlo file. The code will be written to standard output, unless the `--output` option is specified. ## Primary options #### `` \[Mandatory] QLO file to read from. #### `-o, --output=` The file to write the desired output to. #### `--kind=` The kind of the intermediate representation to read. The options are: `dil`: A Datalog intermediate representation. `ra`: A relational algebra intermediate representation. This is used by the query evaluation phase. `bytecode`: Show the raw (uncompressed) bytecode from the .qlo file. Mostly useful for debugging the compiler/evaluator. The default is `dil` if the query was compiled with `--include-dil-in-qlo` and `ra` otherwise ### 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.)