---
title: toolchain info
sidebar_label: info
---

import VersionLabel from '@site/src/components/Docs/VersionLabel';

<VersionLabel version="1.38.0" header />

The `moon toolchain info <id> [plugin]` command will display detailed information about a toolchain,
like what files are scanned, what configuration settings are available, and what tier APIs are
supported. To do this, the command will download the WASM plugin, extract information, and call
specific functions.

For built-in toolchains, the [plugin locator][locator] argument is optional, and will be derived
from the identifier.

```shell
$ moon toolchain info typescript
```

For third-party toolchains, the [plugin locator][locator] argument is required, and must point to
the WASM plugin.

```shell
$ moon toolchain info custom https://example.com/path/to/plugin.wasm
```

### Arguments

- `<id>` - ID of the toolchain to view.
- `[plugin]` - Optional [plugin locator][locator] for third-party toolchains.

## Example output

```
Toolchain ─────────────────────────────────────────────────────────────────

  Provides sync operations that keep tsconfig.json's in a healthy state.

  ID: typescript
  Name: TypeScript
  Version: 0.2.0

Configuration ─────────────────────────────────────────────────────────────

  createMissingConfig: bool
  When `syncProjectReferences` is enabled, will create a `tsconfig.json`
  in referenced projects if it does not exist.

  includeProjectReferenceSources: bool
  Appends sources of project reference to `include` in `tsconfig.json`,
  for each project.

  includeSharedTypes: bool
  Appends shared types to `include` in `tsconfig.json`, for each project.

  projectConfigFileName: string
  Name of the `tsconfig.json` file within each project.

  root: string
  The relative root to the TypeScript root. Primarily used for
  resolving project references.

  rootConfigFileName: string
  Name of the `tsconfig.json` file at the workspace root.

  rootOptionsConfigFileName: string
  Name of the shared compiler options `tsconfig.json` file
  at the workspace root.

  routeOutDirToCache: bool
  Updates and routes `outDir` in `tsconfig.json` to moon's cache,
  for each project.

  syncProjectReferences: bool
  Syncs all project dependencies as `references` in `tsconfig.json`,
  for each project.

  syncProjectReferencesToPaths: bool
  Syncs all project dependencies as `paths` in `tsconfig.json`,
  for each project.

Tier 1 - Usage detection ──────────────────────────────────────────────────

  Config files: tsconfig.json, tsconfig.*.json, *.tsconfig.json, .tsbuildinfo, *.tsbuildinfo
  Executable names: tsc, tsserver
  APIs:
    🟢 register_toolchain (required)
    🟢 define_toolchain_config
    🟢 initialize_toolchain
    ⚫️ detect_version_files
    ⚫️ parse_version_file
    🟢 define_docker_metadata
    ⚫️ scaffold_docker
    ⚫️ prune_docker
    🟢 sync_project
    ⚫️ sync_workspace

Tier 2 - Ecosystem integration ─────────────────────────────────────────────

  APIs:
    ⚫️ extend_project_graph
    ⚫️ extend_task_command
    ⚫️ extend_task_script
    ⚫️ locate_dependencies_root
    ⚫️ install_dependencies
    🟢 hash_task_contents
    ⚫️ parse_lock
    ⚫️ parse_manifest
    ⚫️ setup_environment

Tier 3 - Tool management ──────────────────────────────────────────────────

  APIs:
    ⚫️ register_tool (required)
    ⚫️ load_versions
    ⚫️ resolve_version
    ⚫️ download_prebuilt (required)
    ⚫️ unpack_archive
    ⚫️ locate_executables (required)
    ⚫️ setup_toolchain
    ⚫️ teardown_toolchain
```
