A computer-implemented method performed by a data processing apparatus, comprising: determining that a first user device has an associated second user device that is separate from the first user device ; accessing specification data for the second user device that specifies a set of user device actions that the second user device is configured to perform; receiving command inputs for the first user device , each command input being a set of terms; for each command input , determining whether the command input resolves to one of the user device actions of the set of user device actions for the second user device ; for each command input determined to resolve to one of the user device actions of the set of user device actions for the second user device : causing the first user device to display in a user interface a dialog by which a user may either accept or deny invoking the user device action at the second user device in response to the command input ; for each command input not determined to resolve to any of the user device actions of the set of user device actions for the second user device , causing the command input to be processed at the first user device ; and further comprising, for each command input determined to resolve to one of the user device actions: in response to an acceptance to invoke the user device action at the second user device , causing the second user device to invoke the user device action and process the command input as an input for the user device action; and in response to a denial to invoke the user device action at the second user device , causing the command input to be processed at the first user device . determining that a first user device has an associated second user device that is separate from the first user device ; accessing specification data for the second user device that specifies a set of user device actions that the second user device is configured to perform; receiving command inputs for the first user device , each command input being a set of terms; for each command input , determining whether the command input resolves to one of the user device actions of the set of user device actions for the second user device ; for each command input determined to resolve to one of the user device actions of the set of user device actions for the second user device : causing the first user device to display in a user interface a dialog by which a user may either accept or deny invoking the user device action at the second user device in response to the command input ; for each command input not determined to resolve to any of the user device actions of the set of user device actions for the second user device , causing the command input to be processed at the first user device ; and further comprising, for each command input determined to resolve to one of the user device actions: in response to an acceptance to invoke the user device action at the second user device , causing the second user device to invoke the user device action and process the command input as an input for the user device action; and in response to a denial to invoke the user device action at the second user device , causing the command input to be processed at the first user device . in response to an acceptance to invoke the user device action at the second user device , causing the second user device to invoke the user device action and process the command input as an input for the user device action; and in response to a denial to invoke the user device action at the second user device , causing the command input to be processed at the first user device . <EOS>