Check Netplan Features with netplan info
netplan info tells you which features your installed Netplan build actually supports, before you use one it has never heard of. It is read-only: no touching /etc/netplan/, no applying, no restarting anything. Allow about ten minutes.
The route
Jump straight to the step you need, or tick off Done means at the end.
You need a shell and the netplan.io package, nothing else. The examples use Netplan 1.1.2 from package netplan.io, installed here as 1.1.2-8ubuntu1~24.04.3. Other package releases may list different features.
1. Confirm the command and package version
Check that the executable is present and note the installed version. Neither command needs elevated privileges:
$ command -v netplan
/usr/sbin/netplan
$ dpkg-query -W -f='${Package} ${Version}\n' netplan.io
netplan.io 1.1.2-8ubuntu1~24.04.3
The manpage calls this operation netplan info, though the installed binary is the general netplan command. Do not confuse it with netplan status: info reports advertised package features, status queries networking that is already running.
Checkpoint
You have the executable confirmed and a version string captured. If command -v finds nothing, install or repair the package through your normal process rather than guessing at another binary.
2. Read the default human-friendly output
Run the command with no format option and you get YAML:
$ netplan info
netplan.io:
website: "https://netplan.io/"
features:
- dhcp-use-domains
- auth-phase2
- ipv6-mtu
- modems
- sriov
- openvswitch
- activation-mode
- eswitch-mode
- infiniband
- regdom
- vrf
- vxlan
- virtual-ethernet
- dbus-config
- generate-just-in-time
- generated-supplicant
- default-routes
The top-level key identifies the package, website points at the project site, and features lists what this installation reports. These are capabilities of this Netplan build, not configuration keys you paste into a YAML file.
If a script or check depends on success, capture the exit status straight afterwards:
$ netplan info > /tmp/netplan-info.yaml
$ status=$?
$ printf 'netplan info exit status: %s\n' "$status"
netplan info exit status: 0
The temporary file is optional. Clean it up once you are done reading it:
$ rm -- /tmp/netplan-info.yaml
That removal is safe: the file only holds a copied feature report, not Netplan configuration. Never redirect this output over a file inside /etc/netplan/.
3. Request JSON for scripts
Add --json when another program needs to parse the result. Same information, different shape:
$ netplan info --json
{
"netplan.io": {
"website": "https://netplan.io/",
"features": [
"dhcp-use-domains",
"auth-phase2",
"ipv6-mtu",
"modems",
"sriov",
"openvswitch",
"activation-mode",
"eswitch-mode",
"infiniband",
"regdom",
"vrf",
"vxlan",
"virtual-ethernet",
"dbus-config",
"generate-just-in-time",
"generated-supplicant",
"default-routes"
]
}
}
For a shell pre-flight check, test the exit status rather than matching a specific feature name. The list can change on upgrade:
if netplan info --json > /tmp/netplan-info.json; then
printf '%s\n' 'Netplan feature query succeeded'
else
status=$?
printf 'Netplan feature query failed with status %s\n' "$status" >&2
exit "$status"
fi
rm -- /tmp/netplan-info.json
This example creates and removes its own temporary report. It never touches network configuration. If you need to keep the output, choose a deliberate, access-controlled location rather than leaving diagnostic files lying around in a shared temp directory.
4. Select YAML Explicitly When Format Matters
--yaml just makes the default explicit, which reads better in a runbook or script someone else has to follow:
$ netplan info --yaml
netplan.io:
website: "https://netplan.io/"
features:
- dhcp-use-domains
- auth-phase2
- ipv6-mtu
- modems
- sriov
- openvswitch
- activation-mode
- eswitch-mode
- infiniband
- regdom
- vrf
- vxlan
- virtual-ethernet
- dbus-config
- generate-just-in-time
- generated-supplicant
- default-routes
--json and --yaml are alternatives: pick one for a clear contract. This is not a configuration document. Feeding it to netplan apply will not turn on a feature.
5. Use Debug Output Only While Investigating
Put the global --debug option before info when you need to see what is happening under the hood:
$ netplan --debug info
netplan.io:
website: "https://netplan.io/"
features:
- dhcp-use-domains
- auth-phase2
- ipv6-mtu
- modems
- sriov
- openvswitch
- activation-mode
- eswitch-mode
- infiniband
- regdom
- vrf
- vxlan
- virtual-ethernet
- dbus-config
- generate-just-in-time
- generated-supplicant
- default-routes
Debugging is a reporting choice, not a repair action. If the command fails, run netplan info --help, double-check you used the installed syntax, and check the package version. Do not reach for sudo: this read-only query normally needs no privilege, and elevation will not conjure a feature the installed build does not have.
Done means
- Confirmed the executable and version.
netplanresolves andnetplan.ioreports a version string. - Ran netplan info. You saw the feature list this package advertises.
- Know your formats. YAML is the default,
--jsonis there for scripts. - Checked the exit status right after any query a script depends on.
- Kept the report separate from /etc/netplan/ and made no network state changes.