 <p>Do you see this behavior when you start Emacs without your init file (<code>emacs -Q</code>)? I doubt it. If not, then recursively bisect your init file to find out what is causing the problem.</p> <p>The minibuffer uses its own keymaps, which are local and which therefore take precedence over global keymap bindings.</p> <p>However, any minor-mode keymaps take precedence over local keymaps. So if, for example, you have a (global) minor mode turned on that binds <code>&lt;tab&gt;</code> then that will override any binding for that key in the minibuffer keymaps.</p> <p>Another thing you can do is simply bind whatever command you want to <code>&lt;tab&gt;</code> in the minibuffer keymaps. But again, you should not need to do that, if you want the usual <code>&lt;tab&gt;</code> behavior for the minibuffer.</p> <p>[Another possible confusion: Some things, such as Isearch, which you might think use the minibuffer do not use it. Isearch uses its own keymap, <code>isearch-mode-map</code>.]</p> <hr> <p><strong>UPDATE after your comment:</strong></p> <p>Assigning a key in the global map, as you have done, should not affect what that key does in the minibuffer, provided it has a different binding in the minibuffer keymaps. <code>TAB</code> is typically bound in all of the minibuffer completion keymaps (but not in the non-completion minibuffer keymaps).</p> <p>See the Elisp manual, nodes <a href="http://www.gnu.org/software/emacs/manual/html_node/elisp/Completion-Commands.html" rel="nofollow"><code>Completion Commands</code></a> and <a href="http://www.gnu.org/software/emacs/manual/html_node/elisp/Text-from-Minibuffer.html" rel="nofollow"><code>Text from Minibuffer</code></a> for information about the minibuffer keymaps.</p> <p>To see what the current bindings are for a keymap that is associated with a variable (such as <code>minibuffer-local-completion-map</code>), load library <a href="http://www.emacswiki.org/emacs/download/help-fns%2b.el" rel="nofollow"><strong><code>help-fns+.el</code></strong></a> and use <strong><code>C-h M-k</code></strong> followed by the keymap variable's name. (See <a href="http://www.emacswiki.org/emacs/HelpPlus" rel="nofollow"><strong>Help+</strong></a> for more information about the library.)</p> <p>If you do not want <code>TAB</code> to use your global command binding in the non-completion minibuffer maps (<code>minibuffer-local-map</code>, <code>minibuffer-local-ns-map</code>), then just bind it in those maps to whatever command you like. But for the completion maps you should not need to do anything - <code>TAB</code> should already be bound there.</p> <hr> <p>Did you try <code>emacs -Q</code>, to see if something in your init file is interfering? If not, do that first.</p>