Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just changed my default notebook context to 'unique to this Notebook' so that variables don't roll across numerous open notebooks. Doing this, however, made the command ClearAll["Global*"] stop working to clear all declared variables. I also tried, ClearAll[Evaluate[Context[] <> "*"]], but that didn't work either. Any ideas?

share|improve this question
up vote 7 down vote accepted

As soon as you set your notebook context to 'unique to this Notebook', the notebook's context is no longer Global`, but, well, unique to the notebook.

I can't test right now, but assuming you are not in an explicitly opened context (like after Begin or BeginPackage), I think the following should work:


At least it works in a kernel with manually changed $Context.

share|improve this answer
It works, so +1. – rcollyer May 30 '13 at 19:02
Awesome, totally works! Any ideas why variables aren't going back to blue (from black)? – DilithiumMatrix May 30 '13 at 19:38
@zhermes: I have no idea. IIRC the variables actually already start out being black when the notebook uses its own context (can't check now); no idea why. Maybe the colouring algorithm doesn't take the different context into account correctly. – celtschk May 30 '13 at 19:47
I think you could just do ClearAll@"`*"... – R. M. May 31 '13 at 3:21

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.