---
name: "hostctl"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/hostctl"
---

# hostctl(8)

display or modify contents of the host's key-value store

## NAME

**hostctl** – display or modify contents of the host's key-value store

## SYNOPSIS

**hostctl** \[**-qt**\] \[**-f** *device*\] \[**-i** *input*\] \[**-o** *output*\] *key* \[*value*\]

## DESCRIPTION

The **hostctl** program provides a generic interface for accessing key-value stores on the system's host. It is primarily used for an abstracted way to exchange information with hypervisors that are supported by the [pvbus(4)](/pvbus/4.md) subsystem. When given the name of a specific *key*, **hostctl** will display the value or list the key names of the subtree. If the key is followed by a *value*, **hostctl** will write the new key-value pair to the key-value store.

The options are as follows:

- **-f** *device*

  Use *device* instead of the default */dev/pvbus0*.

- **-i** *input*

  Read the new value for the specified *key* from the *input* file.

- **-o** *output*

  Save the returned value in the *output* file.

- **-q**

  Don't ask for confirmation of any default options.

- **-t**

  Print the type of the underlying driver.

Multiple hypervisor interfaces and key-value stores can be simultaneously available and reached through different device nodes.

## FILES

- /dev/pvbus*u*

  [pvbus(4)](/pvbus/4.md) device unit *u* file.

## EXAMPLES

The [vmt(4)](/vmt/4.md) driver provides access to the “guestinfo” information that is available in VMware virtual machines:

```
# hostctl guestinfo.hostname
vm-111.example.com
# hostctl guestinfo.ip 192.168.100.111
```

The [xen(4)](/xen/4.md) driver provides access to the XenStore that is available in Xen virtual machines. The [pvbus(4)](/pvbus/4.md) layer abstracts it as a simple key-value interface:

```
# hostctl device/vif/0/mac
fe:e1:ba:d0:27:0f
# hostctl device/vif/0/description "My interface"
```

The XenStore is a virtual filesystem that also provides directories. The directory name can be specified as a key to return the contents, other keys, of the directory:

```
# hostctl device
vfb
vbd
vif
console
```

Access to the Hyper-V Key-Value Pair exchange interface is provided by the [hyperv(4)](/hyperv/4.md) driver. The [pvbus(4)](/pvbus/4.md) layer abstracts access to several pre-defined key pools: *Auto*, *Guest*, *External* and *Guest/Parameters*. Available keys can be listed and set:

```
# hostctl Auto/
FullyQualifiedDomainName
IntegrationServicesVersion
NetworkAddressIPv4
NetworkAddressIPv6
OSBuildNumber
OSName
OSMajorVersion
OSMinorVersion
OSVersion
ProcessorArchitecture
# hostctl Auto/FullyQualifiedDomainName `hostname`
```

## SEE ALSO

[pvbus(4)](/pvbus/4.md)

## HISTORY

The **hostctl** program first appeared in OpenBSD 5.9.

## AUTHORS

The **hostctl** program was written by Reyk Floeter ⟨*reyk@openbsd.org*⟩.
