A computer-implemented method performed by a data processing apparatus, comprising: determining that a first user device (104, 106, 510) has an associated second user device (104, 106, 510) that is separate from the first user device (104, 106, 510); accessing specification data for the second user device (104, 106, 510) that specifies a set of user device actions that the second user device (104, 106, 510) is configured to perform; receiving command inputs for the first user device (104, 106, 510), 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 (104, 106, 510); 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 (104, 106, 510): causing the first user device (104, 106, 510) to display in a user interface a dialog (304, 306, 320) by which a user may either accept or deny invoking the user device action at the second user device (104, 106, 510) 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 (104,106, 510), causing the command input to be processed at the first user device (104, 106, 510); 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 (104, 106, 510), causing the second user device (104, 106, 510) 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 (104, 106, 510), causing the command input to be processed at the first user device (104, 106, 510). determining that a first user device (104, 106, 510) has an associated second user device (104, 106, 510) that is separate from the first user device (104, 106, 510); accessing specification data for the second user device (104, 106, 510) that specifies a set of user device actions that the second user device (104, 106, 510) is configured to perform; receiving command inputs for the first user device (104, 106, 510), 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 (104, 106, 510); 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 (104, 106, 510): causing the first user device (104, 106, 510) to display in a user interface a dialog (304, 306, 320) by which a user may either accept or deny invoking the user device action at the second user device (104, 106, 510) 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 (104,106, 510), causing the command input to be processed at the first user device (104, 106, 510); 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 (104, 106, 510), causing the second user device (104, 106, 510) 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 (104, 106, 510), causing the command input to be processed at the first user device (104, 106, 510). in response to an acceptance to invoke the user device action at the second user device (104, 106, 510), causing the second user device (104, 106, 510) 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 (104, 106, 510), causing the command input to be processed at the first user device (104, 106, 510).