I suppose technically, .is_local isn't really meaningful in the shell, as there is no HTTP request involved (.is_local refers to the source of an HTTP request). When the request object is created, .is_local defaults to False, and it is only set to True if an HTTP request comes in from localhost. Perhaps instead it should default to None and then set to either True or False in the case of a request. On the other hand, I suppose an argument could be made for explicitly setting it to True in the shell -- request.env.remote_addr is set to 127.0.0.1 in the shell, so setting .is_local to True would be consistent with that setting.
Anthony