--- sidebar_position: 7 --- # Autocomplete Autocomplete is a special interaction where it can happen on multiple options on a single command. We've handled this with a simple tree search algorithm in a nested options tree. ## Example ```ts title="src/commands/cheese.ts" {11-18} export default commandModule({ type: CommandType.Slash, description: "show me cheese", options: [ { name: "list", type: ApplicationCommandOptionType.String, description: "pick a cheese to show", required: true, autocomplete: true, command: { onEvent: [], execute: (ctx) => { const focus = ctx.options.getFocused(); ctx.respond(['gouda', 'parmesan', 'harvati'] .map((cheese) => ({ name: cheese, value: cheese }))); } } } ], execute: (ctx, [, args]) => { const cheese = args.getString('list', true); ctx.reply('selected cheese'); } }) ``` Sern will handle autocomplete interactions at arbitrary depths and subcommand levels.